【问题标题】:MongoDB: javascript execution failed : can't save a DBQuery object at src/mongo/shell/collection.jsMongoDB:javascript 执行失败:无法在 src/mongo/shell/collection.js 保存 DBQuery 对象
【发布时间】:2013-08-05 04:02:03
【问题描述】:
在 MongoDb 中,当我尝试修改集合中的现有文档时,它会生成以下异常:javascript execution failed : can't save a DBQuery object at src/mongo/shell/collection.js
在 mongoDb shell 中,我执行以下操作:
> var doc1 = db.users.find({name:"Harmeet"})
> doc1.color = "Blue"
> db.users.save(doc1)
当调用 save 方法时出现异常。
【问题讨论】:
标签:
javascript
mongodb
exception
【解决方案1】:
使用
var doc1 = db.users.findOne({name:"Harmeet"})
db.users.find 返回一个游标。
【解决方案2】:
虽然@Manuel Rony Gomes 已经回答了这个问题,但是当您想一次将从集合 A 中找到的多个文档插入到集合 B 中时,您可以使用 toArray() 让它工作:
db.coll_B.insert(db.coll_A.find({}).toArray())