标签: mongodb find
我想将find()命令的结果保存到一个新集合中(基于对类似问题Saving the result of a MongoDB query的回答)。
> db.collection2.insert(db.collection1.find({"person.name": "Carl"}))
然后我想看看这是否成功
> db.righthand.find() [Object]
我不确定为什么要输出[Object],因为我认为它将插入db.collection1.find()的结果。
答案 0 :(得分:1)
由于您插入了由 cursor 方法返回的find(),因此您在控制台中获得了[Object]。
find()
[Object]
您真正需要的是在游标上使用 toArray() 方法,因为它返回一个包含所有文档的数组。该方法完全迭代光标,将所有文档加载到RAM中并耗尽光标。
toArray()
所以您的插入操作应该像
> db.collection2.insert(db.collection1.find({"person.name": "Carl"}).toArray())
并以以下方式查询集合
> db.collection2.find().pretty()