我是Mongo Db的新手并尝试遍历mongo 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
}
我在mongo db shell中尝试这个。这是我循环和插入的方式。
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 :(得分:0)
问题在于我用于检索数据的查询。新查询是
db.courses.find({ $and: [{"integrationKeys.associationId": "dev-kandyuni"}, {"isManuallyCreated": true}]});