我对此感到困惑,我想您可以通过某种方式为我提供帮助,它从前端为我提供了一个数字列表,其中包含要删除的对象的ID,例如:
{
"user":"TEST",
"conditionsToDelete":[1586513509594,1586513519698]
}
我在mongo上的文档如下:
如您所见,文档> conditionConfig> id
上有一个名为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 = [];
});
我收到文档并对其进行了一些更改,但是如何保存它们?
提前
答案 0 :(得分:1)
here中有一个很好的例子。但这对您可能已经足够了:
db.YourModel.update(
{ }, // conditions that specify your user instance
{ $pull: { firstArray: { $in: arrayOfObjectIds }, secondArray: "single ID" } },
{ multi: true }
)
我为您提供了删除单个元素的示例,并针对您的情况,介绍了要删除的元素数组。