MongoDB updateMany,动态过滤器字段

时间:2017-11-26 21:04:28

标签: mongodb mongoose

使用.updateMany(过滤器,更新,选项)时。如何为每个文档设置动态过滤器字段?

我有一系列这样的文件:

[
    {
        time: 1,
        data: []
    },
    {
        time: 2,
        data: []
    },
    {
        time: 3,
        data: []
    }
]

每个都有一个独特的时间戳。如果时间戳已存在,则应使用新数据更新相应的文档,但如果时间不存在,则创建新文档。

https://docs.mongodb.com/manual/reference/method/db.collection.updateMany/

但是看起来,.updateMany()只允许使用静态过滤器字段。喜欢这个

Candles.updateMany({time: 'someStaticTime'}, documents);

虽然我更喜欢这样的东西

Candles.updateMany({time: $currentInsertingDocument.time}, documents);

这是否可以不分别对每个文件进行循环?

1 个答案:

答案 0 :(得分:2)

你应该使用Mongo的Bulk API