mongoose をインストールします
Express を使用して TestMongoDB プロジェクトを準備します。コマンド シーケンスは次のとおりです。
express TestMongoDB cd TestMongoDB npm install
上記のコマンドを実行した後、次のコマンドを使用して mongoose をインストールします:
npm install mongoose --save
このコマンドは mongoose をインストールし、プロジェクトの依存関係として使用します。また、mongoose が依存する MongoDB ドライバーと正規表現モジュールも自動的にインストールされます。
例
mongoose を使用すると、新しいデータベースを作成し、新しいコレクションを作成し、コレクション内のドキュメントに対して CRUD 操作を実行して、結果が mongo シェルに対して期待どおりであるかどうかを検証できます。
次の内容を含む新しい mongo.js ファイルを TestMongoDB の下に作成します:
var mongoose = require('mongoose'); mongoose.connect('mongodb://localhost/accounts'); var db = mongoose.connection; db.on('error', console.error.bind(console, 'connection error:')); db.once('open', function() { console.log('mongoose opened!'); var userSchema = new mongoose.Schema({ name:{type: String, unique: true}, password:String }, {collection: "accounts"} ); var User = mongoose.model('accounts', userSchema); User.findOne({name:"WangEr"}, function(err, doc){ if(err) console.log(err); else console.log(doc.name + ", password - " + doc.password); }); var lisi = new User({name:"LiSi", password:"123456"}); lisi.save(function(err, doc){ if(err)console.log(err); else console.log(doc.name + ' saved'); }); });
上記のファイルについては、「node mongo.js」コマンドを直接実行して効果を確認してください。
mongoose を使用するには、まず require し、次に connect メソッドを使用してデータベースに接続します。プロトタイプを接続します:
connect(uri, options, [callback])
uri の形式は「mongodb://user:pass@localhost:port/database」と似ています。
Mongoose の接続オブジェクトは、接続、オープン、クローズ、エラーなどのいくつかのイベントを定義します。これらのイベントを監視できます。
サンプル コードでは、open イベントをリッスンし、コールバック関数でスキーマを定義し、mongoose.model を呼び出してスキーマをコンパイルし、Model オブジェクトを取得しました。 Schemaを定義するときに指定するコレクション名は、mongoose.modelの最初のパラメータと一致している必要があることに注意してください。
Model オブジェクトを取得した後、追加、削除、変更、クエリなどの操作を実行できます。 Model オブジェクトには、find()、findOne()、update()、remove() などのメソッドがあり、mongo シェルでの使用方法と似ています。これらのメソッドにはオプションのコールバックがあります。これらのコールバックを指定すると、このコールバックを通じて実行結果が返されます。これを指定しない場合、これらのメソッドは Query オブジェクトを返します。Query を通じて新しいオプションを組み立て、Query の exec (コールバック) を呼び出してクエリを送信できます。
コード内で WangEr のファイルを検索するときに、Query の代わりにコールバックを使用しました。
Model オブジェクトには、ドキュメントの構築に使用される Model(doc) メソッドがあります。 Lisi ドキュメントを作成する場合、この Document オブジェクトの save() メソッドを使用してドキュメントをデータベースに保存できます。
mongoose 経由の基本操作:
1.
var obj = new Movie(); obj.title = '标题一'; obj.content = '内容'; obj.save(function(err) { });
2.
を削除します。Movie.remove({ _id:id },function (err) { })
3.
Movie.update({ _id:id },json,{},function (err) { })
4.
Movie.findOne({ _id: id }, function(err, obj) { }); Movie.find({}).sort({_id: -1}).limit(3).exec(function(err, obj) { })