【问题标题】:How to send a request to MongoDB to update an object that contains an array如何向 MongoDB 发送请求以更新包含数组的对象
【发布时间】:2017-07-13 09:51:41
【问题描述】:

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

【问题讨论】:

    标签: javascript node.js mongodb api mongoose


    【解决方案1】:

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

    $set

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-06
      • 2021-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多