更新深度嵌套的数组mongodb

编程入门 行业动态 更新时间:2024-10-24 04:49:20
本文介绍了更新深度嵌套的数组mongodb的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我想使用mongodb在附件数组中推送一个值.我想使用以下条件更新查询.

I want to push one value in attachments array using mongodb. I want to update query using following criteria.

_id:ObjectId("5b56bd2f3e18580edc85af73")"cardID":ObjectId("5b56c895d0a04836f71aa776")"commentId":"2"

_id:ObjectId("5b56bd2f3e18580edc85af73") "cardID": ObjectId("5b56c895d0a04836f71aa776") "commentId":"2"

我想增加附件的价值,我们将不胜感激

I want to push value in attachments, any help would be appreciated

这是一个收集对象:

{ "_id" : ObjectId("5b56bd2f3e18580edc85af73"), "orgId" : "90", "createdBy" : "test", "name" : "testname", "Cards" : [ { "cardID" : ObjectId("5b56c895d0a04836f71aa776"), "cardName" : "test Name", "cardCreated" : "", "reviewer" : "", "priority" : "", "cardPosition" : "", "membersAssigned" : [ "ggg", "fff" ], "labels" : [ "l1", "l2" ], "description" : "", "attachements" : [], "comments" : [ { "commentId" : "2", "commentedBy" : "test", "date" : "", "comment" : "Hello world", "attachements" : [ "1", "data" ], "emojis" : [ ":smile:", ":thumbsup:" ], "updatedBy" : "arkadata", "updatedOn" : "", "subComments" : { "commentedBy" : "jaril", "date" : "", "comment" : "Hello world inside dark" } }, { "commentId" : "3", "commentedBy" : "test", "date" : "", "comment" : "Hello world", "attachements" : [ "1", "raj" ], "emojis" : [ ":smile:", ":thumbsup:" ], "updatedBy" : "arkadata", "updatedOn" : "", "subComments" : { "commentedBy" : "jaril", "date" : "", "comment" : "Hello world inside dark" } }, { "commentId" : 6.0 } ], "dueDate" : "", "createdDate" : "", "lastUpdated" : "", "checkList" : [], "position" : "5", "status" : "active" }, "timestamp" : ISODate("2018-07-24T05:46:23.890Z") }

推荐答案

您可以尝试使用mongodb 3.6 arrayFilters

You can try with mongodb 3.6 arrayFilters

db.collection.update( { "_id": ObjectId(5b56bd2f3e18580edc85af73) }, { "$push": { "Cards.$[card]ments.$[comment].attachments": "2" } }, { "arrayFilters": { "card.cardID": ObjectId("5b56c895d0a04836f71aa776"), "commentmentId": 2 } } )

确保将ID转换为ObjectId

Make sure you cast your ids to ObjectId

db.collection.update( { "_id": ObjectId(5b56bd2f3e18580edc85af73) }, { "$push": { "Cards.$[card]ments.$[comment].attachments": "2" } }, { "arrayFilters": [ { "card.cardID": ObjectId("5b56c895d0a04836f71aa776")}, {"commentmentId": 2 } ] } )

更多推荐

更新深度嵌套的数组mongodb

本文发布于:2023-11-22 18:28:41,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1618524.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:嵌套   数组   深度   mongodb

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!