【问题标题】:Issues updating subdocuments in mongodb在 mongodb 中更新子文档的问题
【发布时间】:2017-10-13 00:02:01
【问题描述】:

请问这是一个愚蠢的问题,但我对 mongo 很陌生。

我在films 下列出了带有子文档的文档。我正在使用我的本地主机上更新单个子文档而没有问题;

db.update(
  { _id: req.params.id, 'films.filmId': req.params.filmId },
  { $set: {
    'films.$.watched': watched,
    'films.$.watchedAt': watchedAt
  }})

但是,当使用 mLab 在 Heroku 上对其进行测试时,它只会更新 films 中列出的第一个子文档,而不管传递给它的 filmId 是什么。

【问题讨论】:

    标签: mongodb heroku subdocument mlab


    【解决方案1】:

    此更新仅更新第一个数组元素,因为它使用 $ 运算符。

    $ 运算符是数组中与查询文档匹配的第一个元素的占位符。可以在 here 找到有关更新上下文中此运算符的文档。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-08-04
      • 2021-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-14
      相关资源
      最近更新 更多