2013-08-04 15 views
12

W MongoDB, gdy próbuję zmodyfikować istniejący dokument w kolekcji, to wygeneruje następujący wyjątek: javascript execution failed : can't save a DBQuery object at src/mongo/shell/collection.jsMongoDB: javascript wykonanie nie powiodło się: nie można zapisać obiekt DBQuery w src/Mongo/shell/collection.js

W powłoce MongoDb wykonuję następującą akcję:

> var doc1 = db.users.find({name:"Harmeet"}) 
> doc1.color = "Blue" 
> db.users.save(doc1) 

, gdy wywołanie metody składowania powoduje wyłączenie wyjątku.

Odpowiedz

31

użycie var doc1 = db.users.findOne({name:"Harmeet"})

db.users.find zwraca kursor.

+0

dzięki @Rony Gomes. –

+0

dzięki, to działa! –

1

Chociaż @Manuel Rony Gomes ma odpowiedzieć na pytanie, kiedy chcesz wstawić wiele znalezione dokumenty z kolekcji A do zbierania B naraz, można użyć ToArray(), aby pozwolić mu działać:

db.coll_B.insert(db.coll_A.find({}).toArray()) 
Powiązane problemy