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
我尝试过,但没有从数组中删除任何内容,我已更新了第一篇文章