sql >> データベース >  >> NoSQL >> MongoDB

マングースの一括更新操作

    それは可能ですが、問題は、ベースドライバーから基になるコレクションオブジェクトにアクセスするときに、実装されたマングースモデルメソッドと同じ予防策が講じられないことです。

    すべてのモデルメソッドは、基になるメソッドを他の機能でラップしますが、最も一般的な方法は、メソッドにアクセスする前にデータベース接続が開いていることを確認することです。これにより、Db インスタンスが存在し、Collection() オブジェクトを取得できます

    .collectionを使用したら モデルのアクセサ、それからあなたはあなた自身でそれをすべてやっています:

    mongoose.connection.on('open',function(err,conn) {
    
       // now it's safe to use
    
       // { .. } Other code
       var bulk = Person.collection.initializeOrderedBulkOp();
       bulk.find(query).update(update);
       bulk.execute(callback)
    
    });
    

    または、基本的に接続が実際に確立されていることを確認する他の方法。

    基盤となるドライバーレベルに飛び込むことなく、バルクAPIメソッドのネイティブサポートについては、はい、現時点で取り組んでいます。ただし、自分で実装することはできます。MongoDB2.6サーバーインスタンス以降に接続している限り、コードが破損することはありません。



    1. BsonRepresentation(BsonType.ObjectId)とBsonIdとObjectIdを使用したC#のプロパティの装飾の違い

    2. PHPでMongoDBコンソールスタイルのクエリを実行するにはどうすればよいですか?

    3. データベースサーバーからタイムスタンプ付きのMongoDBドキュメントを挿入する方法

    4. redisluaスクリプトとシングルコール