如何更新MongoDB集合中的每个文档?

时间:2020-06-16 03:19:25

标签: javascript mongodb mongoose

我知道这可能是重复的,但是this post上的解决方案对我不起作用,因此我决定重复一遍。

我正在尝试在数据库中的每个文档上放置一个新字段,而不会丢失任何数据。我搜索了很多东西,发现了这段代码。

           let res = await client.guildData.updateMany({  }, {$set: {testData: false}}, { upsert: true, multi: true })

            console.log(res.nModified)

但是,当我运行此代码时,什么也没发生,0在控制台中登录,发现没有任何要更新的内容,而实际上有9个文档需要更新。

>

有人知道如何解决此问题吗?

2 个答案:

答案 0 :(得分:0)

Mongoose中,您无需指定$set。因此,您可以仅用{$set: {testData: false}} Documentation

替换{testData: false}
Model.updateMany({}, { field: 'value'}, {upsert: true})

答案 1 :(得分:0)

这基本上是我最初发布的内容,但是@Vishnu建议我将其添加到架构中,并将代码更改为此,现在可以正常使用了:)

digraph graphname {
    graph [fontname = "Arial", fontsize=16, bgcolor=3, style=rounded, colorscheme=set39, labelloc=t, ranksep=0.5];
    node [fontname = "Arial", fontsize=12, style=filled, colorscheme=set39]; 
    label="The graph title"
    a -> b
    b -> c
    c -> b
}

感谢大家的帮助!