12

在 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 方法时出现异常。

4

2 回答 2

34

采用 var doc1 = db.users.findOne({name:"Harmeet"})

db.users.find返回一个游标。

于 2013-08-04T09:28:36.880 回答
3

尽管@Manuel Rony Gomes 已经回答了这个问题,但是当您想一次将从集合 A 中找到的多个文档插入到集合 B 中时,您可以使用 toArray() 让它工作:

db.coll_B.insert(db.coll_A.find({}).toArray())
于 2016-06-27T00:30:18.380 回答