在mongodb中更新多个文档

用户10742206

我有一个特定用户的3 个项目schedule 集合中,在每个记录(文档)中,我有字段 isActive,user当他想要处理该项目时将设置为 true,并且只能为一个项目设置。请参阅以下记录:

{
    "_id" : ObjectId("5c1e0a1cd8a20917b8564e49"),
    "isActive" : true,
    "projectId" : ObjectId("5c0a2a8897e71a0d28b910ac"),
    "userId" : ObjectId("5c0a29e597e71a0d28b910aa"),
    "hours" : 1,
},
{
    "_id" : ObjectId("5c1e0a1cd8a20917b8564e4a"),
    "isActive" : false,
    "projectId" : ObjectId("5c188a9959f6cf1258f4cb01"),
    "userId" : ObjectId("5c0a29e597e71a0d28b910aa"),
    "hours" : 7,
},
{
    "_id" : ObjectId("5c1e0a1cd8a20917b8564e4b"),
    "isActive" : false,
    "projectId" : ObjectId("5cyt2a7797e71a0d25b930ad"),
    "userId" : ObjectId("5c0a29e597e71a0d28b910aa"),
    "hours" : 1,
}

例如,用户已经完成了5c0a2a8897e71a0d28b910ac这个projectId 的工作现在他想为5c188a9959f6cf1258f4cb01projectId工作,所以我想编写更新查询以将5c188a9959f6cf1258f4cb01projectId 的 isActive更新为 true,并将 isActive更新为 false5c0a2a8897e71a0d28b910ac用于5cyt2a7797e71a0d25b930ad项目,意味着用户其他项目。

阿什

所以基本上,你必须使用两个查询之一$set isActivefalse和一个$set isActivetrue特定userId

1) 设置isActivetrue

Model.update(
  { "projectId": "5c188a9959f6cf1258f4cb01", "userId": "5c0a29e597e71a0d28b910aa" },
  { "$set": { "isActive": true }}
)

2) to $setisActive to falsefor other projectIdfor the sameuserId

Model.update(
  { "projectId": { "$ne": "5c188a9959f6cf1258f4cb01" }, "userId": "5c0a29e597e71a0d28b910aa" },
  { "$set": { "isActive": false }}
)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

从春季mongo更新mongodb中的多个文档

在MongoDB中更新多个子文档数组

多个嵌套文档中的MongoDB更新数组

在 MongoDB 中插入或更新多个文档

在MongoDB中的多个文档中更新多个嵌入式文档

MongoDB-更新多个文档中数组中的多个子文档

Java + MongoDB:更新文档中的多个字段

通过提供正文mongoose / mongodb中的文档来更新多个文档

在elasticsearch中更新多个文档?

在mongodb中更新大量文档

在 mongodb 中更新文档

更新MongoDB文档(在NodeJS中)

MongoDB使用或查询更新多个子文档

使用MongoDB $ set更新多个子文档

如何使用 mongoose 在单个 mongodb 文档中更新数组中的多个对象

Mongodb 更新多个文档中字符串中的特定单词

使用Python更新Mongodb中单个文档中具有不同值的多个不同子文档的方法

如何在MongoDB中使用多个条件更新多个文档?

使用 VB.net 和 MONGODB 更新文档中的多个字段(列)

MongoDb更新同一阵列中的多个特定嵌入式文档

mongodb:如何更新单个文档的嵌套数组项中的多个字段

MongoDB中的位置$运算符似乎不会更新多个文档

mongodb、mongoose、express、nodejs 使用旧值更新多个文档中的字符串

如何使用golang更新mongodb中文档数组中的多个嵌套字段

如何在mongodb中搜索和更新文档的多个级别

MongoDB:从多个文档中的数组中删除文档

向 mongoDB 中的多个文档添加属性

MongoDB-计算多个文档中的实例

如何在mongodb中删除多个文档?