mongodb中更新子文档的问题

mongodb中更新子文档的问题,mongodb,heroku,subdocument,mlab,Mongodb,Heroku,Subdocument,Mlab,如果这是一个愚蠢的问题,请原谅,但我对mongo还是个新手 我在电影下列出了带有子文档的文档。我正在使用更新本地主机上的单个子文档,没有问题 db.update( { _id: req.params.id, 'films.filmId': req.params.filmId }, { $set: { 'films.$.watched': watched, 'films.$.watchedAt': watchedAt }}) 但是,当使用mLab在Heroku上测试它

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

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

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

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

此更新只会更新第一个数组元素,因为它使用$操作符

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