Node.js で Mongoose をインストールして使用し、MongoDB_node.js を操作するための基本チュートリアル

WBOY
リリース: 2016-05-16 15:12:46
オリジナル
1604 人が閲覧しました

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) {
 
})
ログイン後にコピー

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート