![](/img/trans.png)
[英]How to delete items out of a nested array by their _id in Mongoose
[英]How to delete items of array based on object id list in mongoose?
我坚持这一点,我想你可以以某种方式帮助我,从前端它给我一个数字列表,其中包含要删除的 object 的 ID,例如:
{
"user":"TEST",
"conditionsToDelete":[1586513509594,1586513519698]
}
我在 mongo 上的文件看起来像:
如您所见,文档 > conditionConfig > id 上有一个名为 id 的属性
所以这个从前面来的列表有这个ID,我必须使用它来过滤和删除匹配的对象。
我该怎么做? 我一直在尝试类似以下的事情:
let resBusqueda = await this.conditionModel.find({ user: conditionsPack.user });
resBusqueda.forEach(condicionPack => {
let condicionesFiltradas = [];
condicionPack.conditionConfig.forEach(condicion => {
let idAnalizadoActualSubcondicion = conditionsPack.conditionsToDelete.indexOf(condicion.id);
if (idAnalizadoActualSubcondicion == -1) {
condicionesFiltradas.push(condicion);
}
});
condicionPack.conditionConfig = condicionesFiltradas;
condicionesFiltradas = [];
});
我收到文档并对其进行了一些更改,但如何保存它们?
提前TY
这里有一个很好的例子。 但这对您来说可能已经足够了:
db.YourModel.update(
{ }, // conditions that specify your user instance
{ $pull: { firstArray: { $in: arrayOfObjectIds }, secondArray: "single ID" } },
{ multi: true }
)
我为您提供了删除单个元素的示例,并为您提供了要删除的元素数组。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.