像这样:
我有一份文件,
{ "_id": "java", "belongs":"Oracle"}
我希望插入一个与java相同的新文档。
{ "_id":"mysql", "belongs":db.collection.find({_id:"oracle"}, {"_id":0, "belongs":1})}
我该怎么做?
答案 0 :(得分:0)
这里的关键是要记住find()
返回游标而不是文档。另一个重要的细节是你应该使用" java"来查询文档。 _id
,而不是" oracle"。然后,您可以在belongs
中使用该文档的insert()
字段。那么,你想要做的是:
db.collection.insert({
_id: "mysql",
belongs: db.collection.findOne({_id: "java"}).belongs
})
这使用findOne
方法,该方法返回与查询匹配的第一个文档。由于在MongoDB中_id
用作集合的主键,因此无论如何只应该有一个这样的文档。