2015-09-23 125 views
1

我尝试在我的集合“公司”中插入新文档,并从“用户”集合中嵌入现有文档。将现有文档嵌入到MongoDB的新文档中

我想什么是

db.companies.insert({ "_id": 2, name: "sample-com", admin: db.users.find({ "_id": 1 }) }) 

,但它不工作

“不能在SRC /蒙戈/壳/ collection.js节省的DBQuery对象:143”)

如何将现有文档嵌入到我的新文档中?

+0

可能重复[MongoDB的:JavaScript的执行失败:在SRC /蒙戈/壳无法保存的DBQuery对象/ collection.js(HTTP://计算器.com/questions/18041356/mongodb-javascript-execution-failed-cant-save-a-dbquery-object-at-src-mongo) – Vishwas

回答

0

,您应该使用的.findOne

var admin = db.users.findOne({ "_id": 1 }); 
db.companies.insert({ "_id": 2, "name": "sample-com", "admin": admin }) 
+0

谢谢!工作得很好。我没有注意到我可以在mongo-shell中使用变量。谢谢你的回答! – Surras

+0

@Surras是的,你可以这样做,因为[mongo shell是一个用于MongoDB的交互式JavaScript shell](http://docs.mongodb.org/master/tutorial/write-scripts-for-the-mongo-shell/) – styvane