Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb 使用mongoose删除文档中的数组元素_Mongodb_Mongoose - Fatal编程技术网

Mongodb 使用mongoose删除文档中的数组元素

Mongodb 使用mongoose删除文档中的数组元素,mongodb,mongoose,Mongodb,Mongoose,我不确定是否需要获取文档、更改对象并在数据库中更新它,或者是否可以一步更新文档 关于本文件: { "_id":{"$oid":"5fb15c68daa5c11cf5d6d4b3"},"state":[], "users":[ {"_id":{"$oid":"5fb15c68daa5c11cf5d6d4b4"},"user

我不确定是否需要获取文档、更改对象并在数据库中更新它,或者是否可以一步更新文档

关于本文件:

{
"_id":{"$oid":"5fb15c68daa5c11cf5d6d4b3"},"state":[],
"users":[
    {"_id":{"$oid":"5fb15c68daa5c11cf5d6d4b4"},"user":{"$oid":"5f81eb91d537dc3baf443a84"},"calification":0},
    {"_id":{"$oid":"5fb15c9cdaa5c11cf5d6d4b5"},"user":{"$oid":"5fa6f98f15e96c1125b905a9"},"calification":0}
],
"test":{"$oid":"5f986af2baa88b2d30760961"},
"__v":1}
我知道文档id和用户数组元素id,可以在一次查询中删除它吗

更新:

我用的是这个代码,但什么都没做

Game.update({
      "_id": req.body.game_id,
    },
    {
      "$pull": {
        "users": {
          "user": '5f81eb91d537dc3baf443a84'
        }
      }
    })

是的,您可以在一个查询中完成

如果我没有误解这个问题,你只需要:

db.collection.update({
“\u id”:文件\u id,
},
{
“$pull”:{
“用户”:{
“\u id”:要删除的用户\u id\u
}
}
})
查找文档,然后
$pull
具有
\u id
1(或任何您想要的)的元素

范例


请注意,如果需要,您可以使用
user
字段,而不是
\u id

我尝试过,但没有从数组中删除任何内容,我已更新了第一篇文章