无法在mongodb中更新文件(想要在数组中推入项目)
起初我为我的英语道歉:(
即时通讯新的nodeJs和mongodb和我有一个问题
我不能添加任何项目数组
这是我试过的:
db.conversations.update({userID: memberID} ,{ "user_users" : { $push : { "member": userID } // this does not work :(( } });
我也试过这个:
db.conversations.user_users = { $push : { member: memberID } }; db.conversations.save();
我想这样工作:
{ "_id" : conversationID, "userID" : userID, "user_users" : { "member" : memberID, "member" : memberID } }
以下JSON:
{ "_id": conversationID, "userID": userID, "user_users": { "member": memberID, "member": memberID } }
是无效的,因为“成员”是一个重复的密钥。 你可以做的是将user_users转换为一个用户数组,并做这样的事情:
{ "_id": conversationID, "userID": userID, "user_users": [ { "member": memberID }, { "member": memberID } ] }
其中数组user_users的每个成员都是一个文档。 然后,您将能够执行以下查询将成员添加到您的数组:
db.conversations.update( {userID: memberID} , {$push : {"user_users" : { "member": userID }}} )