初学者学习mongoose官方教程的笔记

猫鼬的快速启动指南

这次的主题是这个。

https://mongoosejs.com/docs/index.html 的文件提供了有关Mongoose的详细文档。

    • 対象は、dotinstallさんで、mongoDBを学んだ方が主な対象です。

 

    • mongooseは、node.js上でmongoDBを扱うためのライブラリーです。

 

    • 本家のチュートリアルを学ぶのが一番情報的に正確と思いますのでこちらを使って行きたいと思います。

 

    • 本家は英語ですが、google先生の翻訳で十分わかります。

 

    • mongoDB の説明はしません。

 

    • mongoDBをmongo shellで使えるようになった後実際使う場合に、javascriptで扱えれば応用できそうです。

 

    • node.js環境で扱うには、mongoDB公式とmongooseのドライバーを使うことになるみたいです。

 

    • 今回は、一般的にmongooseドライバーを使う人が多いとのことで、mongooseドライバーを使って行きたいと思います。

 

    • node.jsは、すでに入っている前提です。

node –version
v12.10.0
versionは多少違っていても、練習ではあまり影響は無いと思います.

mongoDBも既に、入っている前提です。

mongo –version
MongoDB shell version v4.2.0

dotinstallさんで、学んでいる方は、Vagrant環境がありますので、そちらでしてもいいんじゃないかと思います。
私は、Dockerコンテナで試していますが、 mongoDB, node.js が動いていれば大丈夫です。
環境は、Macですがnode.jsを導入した後は同じだと思いますので、適宜読み替えて下さい。
結果表示は掲載しませんので、実際試してみて下さい。


如果不需要 git 相关的内容,请忽略。

    • いつでも、おかしくなったら戻れるように入れて置くことをおすすめします。

 

    • うまく行ったところで、適宜commitして下さい。

 

    • 練習ディレクトリを適当な名前で作成してください。

 

    • touch .gitignore

vim .gitignore

vimでなくても構いませんが、慣れる為に使います。

.gitignore

node_modules
    • git init

 

    • git add .

 

    git commit -m “first commit”

我要开始教程了。

    • チュートリアルですが、細かい説明は無いです。

 

    • まず、使うための雰囲気を覚えろみたいな内容です。

 

    • npm init -y

 

    npm install -D mongoose

直到小猫”silence”被创造出来

    getting-started.js
const mongoose = require('mongoose');
// 一般的には, `mongodb://localhost/test` の指定になります
mongoose.connect('mongodb://localhost/test', {useNewUrlParser: true});
// mongoose.connect('mongodb://mongo/test', {useNewUrlParser: true});
const db = mongoose.connection;

db.on('error', console.error.bind(console, 'mongo 接続エラー ctrl + c:'));
db.once('open', () =>  {
  console.log('DB接続中... You can cancel from ctrl + c')
});

const kittySchema = mongoose.Schema({
  name: String
});

const Kitten = mongoose.model('Kitten', kittySchema);

const silence = new Kitten({ name: 'Silence' });
console.log('子猫の名前: ', silence.name);

// mongoose.disconnect();
    • node getting-started.js

 

    • DBに正常に繋がっていれば、DB接続中及び子猫の名前が表示されます。

 

    まだ、DBには接続確認のみで、アクセスはしていません。

小猫喵喵叫的时候

    getting-started.js
const mongoose = require('mongoose');
// 一般的には, `mongodb://localhost/test` の指定になります
mongoose.connect('mongodb://localhost/test', {useNewUrlParser: true});
// mongoose.connect('mongodb://mongo/test', {useNewUrlParser: true});
const db = mongoose.connection;

db.on('error', console.error.bind(console, 'mongo 接続エラー ctrl + c:'));
db.once('open', () =>  {
  console.log('DB接続中... You can cancel from ctrl + c')
});

const kittySchema = mongoose.Schema({
  name: String
});

// const Kitten = mongoose.model('Kitten', kittySchema);
// const silence = new Kitten({ name: 'Silence' });
// console.log('子猫の名前: ', silence.name);


kittySchema.methods.speak = function () { // メソッド作成
  const noName = "名前はまだ無い"
  const greeting = this.name ? "みゃ〜の名前は " + this.name : noName ;
  console.log(greeting);
}

kittySchema.methods.speak(); // 無登録でメソッド実行

const Kitten = mongoose.model('Kitten', kittySchema); // モデル作成
const tama = new Kitten({ name: 'Tama' }); // 名前登録 インスタンス作成
tama.speak(); // メソッド実行

// mongoose.disconnect();

将数据保存到数据库并显示在列表中。

const mongoose = require('mongoose');
// 一般的には, `mongodb://localhost/test` の指定になります
mongoose.connect('mongodb://localhost/test', {useNewUrlParser: true});
// mongoose.connect('mongodb://mongo/test', {useNewUrlParser: true});
const db = mongoose.connection;

db.on('error', console.error.bind(console, 'mongo 接続エラー ctrl + c:'));
db.once('open', () =>  {
  console.log('DB接続中... You can cancel from ctrl + c')
});

const kittySchema = mongoose.Schema({
  name: String
});

// const Kitten = mongoose.model('Kitten', kittySchema);

// const silence = new Kitten({
//   name: 'Silence'
// });
//
// console.log(silence.name);

kittySchema.methods.speak = function () {
  const noName = "名前はまだ無い"
  const greeting = this.name ? "みゃ〜の名前は " + this.name : noName ;
  console.log(greeting);
}

kittySchema.methods.speak();

const Kitten = mongoose.model('Kitten', kittySchema);

const tama = new Kitten({ name: 'Tama' });
tama.speak();


// 確実にsave してから find したいので 関数にしている
async function tamaFunc() {
  await tama.save((err, kitten) => {
    if (err) console.error(err);
    console.log(kitten);
  });

  await Kitten.find((err, kittens) => {
    if (err) console.error(err);
    console.log(kittens);
  });
}
tamaFunc();

// mongoose.disconnect();
    • 以上でチュートリアルは終了です。

 

    覚えた事を少しづつ使えるようになっていきたいですね。
广告
将在 10 秒后关闭
bannerAds