0

複数のドキュメントを mongoDB データベースのコレクションに挿入しようとしていますが、応答として 1 つのオブジェクト ID しか取得できません (複数のドキュメントが DB に作成されています)。

コード:

exports.createRelation = function(relationDoc, db, callback) {
var relations = db.get("relations");
relations
        .insert( relationDoc )
    .error( function ( err ) {
        callback(err, null);
    })
    .success( function ( doc ){
        callback(null, doc);
   });
};

この場合、relationDoc は配列になります

入力:

newRelDocs_Array:  [ { 
    path: [ 53d0b191c5ac61d403b0090d ] 
    tob: 1405343247 },
  { 
    path: [ 53d0b191c5ac61d403b0090d ],
    tob: 1405343247 } ]

応答 :

createRelation(): Success
createRelation_db:  { 
  _id: 546a1d6f65c05d1c37660c4c,
  tob: 1405343247

}

参考までに、私は NodeJS を使用しており、monk で MongoDB に接続しています。

4

2 に答える 2

0

Monk コレクション ラッパーは、フィールドを介して基になるコレクション オブジェクトへのアクセスを提供します.col。これを使用して、一括挿入や集約など、Monk によって実装されていないメソッドにアクセスできます。

var relations = db.get("relations");
var docs = [ { 
              path: [ "53d0b191c5ac61d403b0090d" ],
              tob: 1405343247
             }, {
              path: [ "53d0b191c5ac61d403b0090d" ],
              tob: 1405343247
             } ];
relations.col.insert(docs, callback);

.colただし、monk が提供する promises 機能を使用できないことに注意してください。詳しくはこちらをご覧ください。

于 2015-05-08T08:16:49.613 に答える