我想在成员数组中推送对象,如果它不存在。有没有办法检查对象是否不在mongodb的数组中?
{
_id: 1111,
members:[
{user_id: 11},
{user_id: 12},
{user_id: 13}
]
}
Run Code Online (Sandbox Code Playgroud)
所以我想检查一下:
newUser = {user_id: 14}
Run Code Online (Sandbox Code Playgroud)
不在成员数组中,如果不是 - 将其推到那里。被它困住了。预先感谢您的帮助。
使用 $nin 运算符检查members数组是否不包含user_id等于 14 的文档。更新很简单 $push:
db.collection.update({'members.user_id':{$nin: [14]}}, {$push:{members:{user_id:14}}})
Run Code Online (Sandbox Code Playgroud)