我正在尝试更新包含 Mongo DB 中的数组的对象。该对象看起来像:
{id: 'idString',
propA: propA,
arrayB: [{propC: propC}, {propC: propD}, {propC: propE}]
我想发送一个将其更新为的请求:
{id: 'idString',
propA: propA,
arrayB: [{propC: propABC}, {propC: propD}, {propC: propE}]
通过执行以下操作,我可以使其工作:
Object
.findByIdAndUpdate(req.params.id, {$set: req.body}})
将请求主体设为白色:
{id: 'idString',
propA: propA,
arrayB: [{propC: propABC}, {propC: propD}, {propC: propE}]
但是有什么方法可以在请求主体只是时发送请求:
{id: 'idString',
arrayB: [{propC: propABC}]
如果我只更新该数组中的一项,则不必包括整个数组?现在,如果我确实 findByIdAndUpdate 并在上面作为请求正文发送,如果请求正文中没有提到它们,它将删除数组的其余部分。
我在MongoDB的网站上找到了答案。您仍然使用$ set,但是使用请求主体中数组中元素的索引号。
https://docs.mongodb.com/manual/reference/operator/update/set/
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句