起初我为我的英语道歉:(
我是 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 }
}
答案 0 :(得分:3)
以下JSON:
{
"_id": conversationID,
"userID": userID,
"user_users": {
"member": memberID,
"member": memberID
}
}
无效,因为“member”是重复的密钥。您可以做的是将user_users转换为用户数组并执行以下操作:
{
"_id": conversationID,
"userID": userID,
"user_users": [
{
"member": memberID
},
{
"member": memberID
}
]
}
其中数组user_users的每个成员都是一个文档。然后,您可以执行以下查询以向阵列添加成员:
db.conversations.update(
{userID: memberID} ,
{$push : {"user_users" : { "member": userID }}}
)