Mongoose $pull 数组中的文档
Mongoose $pull a document within array of array
{
"_id":5150a1199fac0e6910000002,
"name":"some name",
"items":[
{
"id":23,
"name":"item name 23",
"childItems":[
{
"id":233,
"name":"item 233"
},
{
"id":234,
"name":"item 234"
}
]
},
{
"id":24,
"name":"item name 24",
"childItems":[]
}
]
}
我正在尝试更新数组的 'document in array'。我已经使用位置 $ 运算符在其父级(利益相关者数组)上运行查询,使用我之前提出的这个问题的答案。所以我的查询看起来像这样......
this.model.findOneAndUpdate( { items: { id: '23' } }, { $pull: { items: { childItems: { id: '223' } } } },).exec();
通过一些步骤,我终于可以用查询解决这个问题
await this.model
.update(
{ 'items.id': 'id' },
{ $pull: { 'items.$[element].childItems': { id: 'id' } } },
{ arrayFilters: [{ 'element._id': 'id' }], multi: true },
)
.exec();
感谢 Cuong Le Ngoc
{
"_id":5150a1199fac0e6910000002,
"name":"some name",
"items":[
{
"id":23,
"name":"item name 23",
"childItems":[
{
"id":233,
"name":"item 233"
},
{
"id":234,
"name":"item 234"
}
]
},
{
"id":24,
"name":"item name 24",
"childItems":[]
}
]
}
我正在尝试更新数组的 'document in array'。我已经使用位置 $ 运算符在其父级(利益相关者数组)上运行查询,使用我之前提出的这个问题的答案。所以我的查询看起来像这样......
this.model.findOneAndUpdate( { items: { id: '23' } }, { $pull: { items: { childItems: { id: '223' } } } },).exec();
通过一些步骤,我终于可以用查询解决这个问题
await this.model
.update(
{ 'items.id': 'id' },
{ $pull: { 'items.$[element].childItems': { id: 'id' } } },
{ arrayFilters: [{ 'element._id': 'id' }], multi: true },
)
.exec();
感谢 Cuong Le Ngoc