如何向MongoDB发送请求以更新包含数组的对象

Di Ye

我正在尝试更新包含 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 并在上面作为请求正文发送,如果请求正文中没有提到它们,它将删除数组的其余部分。

Di Ye

我在MongoDB的网站上找到了答案。您仍然使用$ set,但是使用请求主体中数组中元素的索引号。

$ set

https://docs.mongodb.com/manual/reference/operator/update/set/

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章