2016-03-23 2 views
0

Так что моя проблема в том, что я не могу нажать на результат метода findOne() для массива в документе.Mongodb cursor to Json

Например, я хочу, чтобы добавить другой пользователь в некоторых массивах (участник проекта), как это:

var user =db.users.findOne({_id:"123456"}) 
db.projects.update({_id:'abcde'},{$set:{$push:{participants:user}}}) 

как я могу исправить это?

+0

Вы не можете вставлять '$ оператора push' в' оператора set' $, просто используйте '$ push' по себе, как' дб .projects.update ({_ id: 'abcde'}, {$ push: {участники: пользователь}}) ' – chridam

+0

Его толкает этот объект: DBQuery: db.users -> {" _id ": ObjectId (" 56dca006095081e ")} не настоящий json – Chenko47

ответ

0

Вам необходимо запрос обновления, так как:

db.test.update({ 
    _id: 'abcde' 
}, 
{ 
    $push: { 
     participants: { name: 'Bob'} 
    } 
})