更新mongodb中的子文档的问题

时间:2017-05-13 22:23:32

标签: mongodb heroku subdocument mlab

如果这是一个愚蠢的问题,请原谅,但我对mongo很新。

我有films下列出的子文档的文档。我在本地主机上使用;

更新单个子文档而没有问题
db.update(
  { _id: req.params.id, 'films.filmId': req.params.filmId },
  { $set: {
    'films.$.watched': watched,
    'films.$.watchedAt': watchedAt
  }})

然而,当使用mLab在Heroku上测试它时,它只会更新films中列出的第一个子文档,而不管传递给它的filmId。

1 个答案:

答案 0 :(得分:0)

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

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