2016-05-16 17 views
0

Mongo Dbの新機能で、mongo dbコレクションのドキュメントを繰り返し処理し、同じドキュメントのコピーを挿入しようとしています。続きmongodbコレクションの検索と挿入が完了しません

は、私はモンゴDBのシェルでこれをしようとしているサンプル文書

{ 
    "_id" : ObjectId("573a15351f7409771c330acd"), 
    "internal" : { 
     "id" : "562e0cade4b0d50120cee6c1" 
    }, 
    "status" : "ACTIVE", 
    "integrationKeys" : { 
     "associationId" : "dev-aws_moratuwauni" 
    }, 
    "external" : { 
     "id" : "8a510sba2-2c0d-4e87-9145-daf33cfcff36" 
    }, 
    "links" : [ ], 
    "createdDate" : "2015-10-26T11:10:17+0000", 
    "updatedDate" : "2015-10-26T11:10:17+0000", 
    "isManuallyCreated" : true 
} 

です。これは私がどのようにループして挿入を行うかです。

db.courses.find({ $and: [{"isManuallyUpdated": {$ne: true}}, {"isManuallyCreated": {$ne: true}}]}).limit(1).forEach(function(doc) 
{ 
    $set: {doc._id = ObjectId()}; 
    $set: {doc.integrationKeys.associationId = "dev-kandyuni"}; 
    $set: {doc.isManuallyCreated = true}; 
    db.courses.insert(doc) 
}); 

これにより、新しい文書が作成されますが、以下に示すように2つのキー値のみが作成されます。

{ 
    "_id" : ObjectId("573a149e1f7409771c330acb"), 
    "isManuallyCreated" : true 
} 

私もdb.courses.save(doc)を試しましたが、残念なことに結果は同じでした。助けてもらえますか?

答えて

0

データの取得に使用したクエリで問題が発生しました。新しいクエリは

db.courses.find({ $and: [{"integrationKeys.associationId": "dev-kandyuni"}, {"isManuallyCreated": true}]}); 
です
関連する問題