0
/* post document 1 */
{
    "_id" : ObjectId("5da832caeb173112348e509b"),//post._id
    "body" : "Lorem Ipsum .",
    "date" : ISODate("2019-10-17T09:21:45.452Z"),
    "comments" : [ 
        {
            "user" : "5d999578aeb073247de4bd6e",
            "comment" : "12345",
            "_id" : ObjectId("5db06e11d0987d0aa2cd5593"), //comments._id
            "replies" : [ 
                {
                    "likes" : [ 
                        "5d999578aeb073247de4bd6e", 
                        "5da85558886aee13e4e7f044"
                    ],
                    "_id" : ObjectId("5db6a88f7c6cfb0d0c2b689b"),
                    "reply" : "r11111111",
                    "user" : "5da85558886aee13e4e7f044"
                }
            ],
            "likes" : [ 
                "5da85558886aee13e4e7f044"
            ]
        }
    ],
    "likes" : [ 
        "5d999578aeb073247de4bd6e", 
        "5da85558886aee13e4e7f044"
    ]
}

My query to update replies[i].likes

db.getCollection("example").updateOne(

{
    "_id": ObjectId("5da832caeb173112348e509b"),
    "comments.replies": {
      "$elemMatch": {
        "_id": ObjectId("5db06e11d0987d0aa2cd5593"),//replies._id
      }
    }
  },
  { "$push": { "comments.$[outer].replies.$[inner].likes": "100000" } },
  {
    "arrayFilters": [
      { "outer._id": ObjectId("5db06e11d0987d0aa2cd5593") },//post._id
      { "inner._id": ObjectId("5db6a88f7c6cfb0d0c2b689b") }//comment._id
    ]
  }
)

I got the message after ran:

{
    "acknowledged" : true,
    "matchedCount" : 0.0,
    "modifiedCount" : 0.0
}

but collection is not updated , what is wrong with my query?

tree em
  • 20,379
  • 30
  • 92
  • 130

1 Answers1

1

Try this query

db.getCollection("example").updateOne(

{
    "_id": ObjectId("5da832caeb173112348e509b"),
    "comments.replies._id":ObjectId("5db6a88f7c6cfb0d0c2b689b"),//replies._id
  },
  { "$push": { "comments.$[outer].replies.$[inner].likes": "100000" } },
  {
    "arrayFilters": [
      { "outer._id": ObjectId("5db06e11d0987d0aa2cd5593") },//post._id
      { "inner._id": ObjectId("5db6a88f7c6cfb0d0c2b689b") }//comment._id
    ]
  }
)
Mahesh Bhatnagar
  • 1,042
  • 1
  • 7
  • 8