我在mongo文档中有一个数组,如下所示。
{
company: [
{name: "exist"},
{name: "cool"},
{name: "ho"}
]
}
我想摆脱带有位置值的数组中的数据。
所以我查询了。
await Company.findOneAndUpdate({
_id: "xdef"
},
{
$unset: {
'company.1': 1
}
}
})
效果很好。现在,我想按查询放置位置。
await Company.findOneAndUpdate({
_id: "xdef"
},
{
$unset: {
`company.{req.query.position}`: 1
}
}
})
但这给我一个错误。如何为这种情况编写足够的代码?
非常感谢您阅读它。
答案 0 :(得分:1)
您可以使用computed property names。而且字符串文字中也缺少$
。
await Company.findOneAndUpdate({
_id: "xdef"
}, {
$unset: {
[`company.${req.query.position}`]: 1
}
}
})
通过计算出的属性名称,您可以使用一个表达式 被计算为对象的属性名称。