使用MongoDB更新数组中的对象

时间:2020-08-12 14:38:19

标签: mongodb

我尝试使用MongoDB更新对象数组。

对象的示例:

    [
      {
        _id: 'ID',
        name: 'hello',
        org: 'world',
        seenBy: [
          {
            _id: 'ID',
            seenAt: 'DATE'
          },
          ...
        ],
        ...
      }
    ]

我想更新seenBy.seenAt的日期。为此,我尝试此Mongo更新:

    await Task.updateOne(
      {
        _id: ctx.task._id,
        'seenBy._id': ctx.me._id
      },
      {
        $set: {
          "seenBy.$.seenAt": new Date()
        }
      },
    );

但是它不起作用,我也不是很清楚为什么。我通过检查_id和seenBy._id来定位正确的商品,但新值永远不会添加。

有人知道我是否需要其他手术?也许我的方法不正确:D

谢谢社区!

0 个答案:

没有答案