【发布时间】:2019-05-18 11:20:05
【问题描述】:
我在 mongodb 中有一个数据集合,如下所示:
{
{ "_id" : ObjectId("1"), "name" : "ABC", "group" : [ObjectId("11"), ObjectId("12"), ObjectId("13")]}
{ "_id" : ObjectId("2"), "name" : "DEF", "group" : [ObjectId("21"), ObjectId("22"), ObjectId("23")]}
}
我想删除文档中group 字段中的ObjectId("11")
ObjectId("1").
我尝试了下面的代码:
aId = "1"
bId = "11"
db.collection.updateOne({ _id: ObjectId(aId) }, { $pull: { group: { _id: ObjectId(bId) } } })
但是失败了。
我也试过了:
aId = "1"
bId = "11"
db.collection.updateOne({ _id: aId }, { $pull: { group: { _id: bId } } })
但还是删除失败。
我的代码有什么问题吗?
【问题讨论】:
-
字段组只是一个 Object Ids 数组。试试
db.collection.updateOne({ _id: aId }, { $pull: { group: bId } }) -
MongoDB $pull syntax的可能重复
-
@MukulDev 同意。但它必须是
ObjectId(bId),不是吗? -
@Coolguy 是的,应该是
objectId(bId)
标签: javascript html node.js database mongodb