相关疑难解决方法(0)

MongoDB:如何使用单个命令更新多个文档?

我惊讶地发现以下示例代码仅更新单个文档:

> db.test.save({"_id":1, "foo":"bar"});
> db.test.save({"_id":2, "foo":"bar"});

> db.test.update({"foo":"bar"}, {"$set":{"test":"success!"}});

> db.test.find({"test":"success!"}).count();
1
Run Code Online (Sandbox Code Playgroud)

我知道我可以循环并不断更新,直到它们全部改变,但这似乎非常低效.有没有更好的办法?

document mongodb nosql

127
推荐指数
6
解决办法
16万
查看次数

db.collection.update()所有文档

我尝试在一个集合的所有文档中重命名一个字段

db.coll.update({},{ $rename: {'originField':'newField'} });
Run Code Online (Sandbox Code Playgroud)

但只有一个文件被改变了,为什么?

rename mongodb

20
推荐指数
1
解决办法
3万
查看次数

更新许多猫鼬

我有一个非常简单的案例。我想在每个午夜更新我的收藏。我正在使用node-schedule

schedule.scheduleJob('0 0 * * *', () => {
   Users.updateMany();
});
Run Code Online (Sandbox Code Playgroud)

我要做的就是遍历我的collection(Users)中的每个文档,如果User.createdfalse,我想将其转换为true

在javascript中,它将是:

for (let user in Users) {
   if (user.created === false) {
      user.created = true;
   }
} 
Run Code Online (Sandbox Code Playgroud)

用猫鼬怎么做?谢谢!

编辑:故事很简单,我只想使用猫鼬对数据库中的每个元素进行迭代,如果迭代的元素具有字段“ created”(创建)=== false,请将其更改为true。

javascript mongoose mongodb node.js

7
推荐指数
2
解决办法
1万
查看次数

如何在猫鼬中更新集合中所有文档的相同字段

我有这个收藏(不完全是我的收藏,例如)。我想将所有“ numberOfViewsPerWeek”字段更新为0,就像重置一样。

{
    "_id" : ObjectId("594d2359bf170b0828690bf7"),
    "owner" : ObjectId("594c126285f0922a985083c1"),
    "numberOfViewsSincePost" : 15,
    "numberOfViewsPerWeek" : 4,
}

{
    "_id" : ObjectId("594d709addb8691cf067fa73"),
    "owner" : ObjectId("594c126285f0922a985083c1"),
    "numberOfViewsSincePost" : 10,
    "numberOfViewsPerWeek" : 2,
}

{
    "_id" : ObjectId("764d709addb8691cf067fa70"),
    "owner" : ObjectId("594c126285f0922a985083c1"),
    "numberOfViewsSincePost" : 12,
    "numberOfViewsPerWeek" : 7,
}
...
Run Code Online (Sandbox Code Playgroud)

我会尝试使用update,但是它只会更新第一个文档,我的代码是这样

Property.update({}, {'$set': {'numberOfViewsPerWeek' : 0}}, function(error, properties){

        if(error){
            console.log(error);
        }

        if(!properties){
            console.log('Something went wrong');
        }

        console.log('success update view');
    });
Run Code Online (Sandbox Code Playgroud)

我该怎么办?提前致谢

mongoose mongodb node.js

1
推荐指数
1
解决办法
957
查看次数

标签 统计

mongodb ×4

mongoose ×2

node.js ×2

document ×1

javascript ×1

nosql ×1

rename ×1