gpt4 book ai didi

javascript - 如何更新 mongodb 中所有对象的每个特定值?

转载 作者:行者123 更新时间:2023-11-30 11:39:32 25 4
gpt4 key购买 nike

所以我有一个应用程序涉及给出估计的等待时间。我目前已将我的架构设置为根据集合中的项目数估算 waitTime 值。这有效找到。

我遇到的问题是,每当有人从数据库中删除时,我需要能够将数据库中每个人的估计等待时间减少 15。

例如,数据库中当前有四个人。每个人都有各自指定的等待时间 15、30、45 和 60。然后假设数据库中的第二个人被删除(即他们取消了约会)。然后,第二个人之后的两个人需要将他们的估计等待时间更新为 30 分钟和 45 分钟。

{
"_id": "qntsyc9RZqkbHnSGM",
"Name": "John",
"PhoneNumber": "5555555555",
"createdAt": "2017-04-05T05:05:46.024Z",
"currentStatus": "Waiting",
"waitTime": 30 //this is the value I want to reduce for every object in the database
}

我该怎么做?

附言这基本上是在创建一个索引,但我在尝试为我的数据库创建一个索引时遇到了问题。我试过使用 createIndex() 和 ensureIndex(),但没有成功(也许我只是做错了)。如果有办法为我的数据库创建索引,那么我也可以使用它。

最佳答案

如果要将所有值都减少 15,则需要使用 $inc 运算符。它不包括负值,因此您可以使用它来递增或递减。

更新看起来像这样,只需更改集合的名称:

db.epace.update({}, {$inc:{waitTime: -15}}, {multi:true})

关于javascript - 如何更新 mongodb 中所有对象的每个特定值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43222428/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com