I am trying to $pull a certain document contained within a nested array, within another nested array.
The structure goes as follows:
*clubs{ "club_id",
"players"[{"player_id": 123,
"comments": [{"_id": "id"},
{"_id": "id2"}]
}]
}
I am trying to use the below in mongosh:
db.clubs.updateOne({"players.player_id": 363205}, {$pull: {"players.comments": {"players.comments._id": "5c61f001-768c-11ed-892f-346f24b28bd0"}}})
But when I submit this I get the following error:
MongoServerError: Cannot use the part (comments) of (players.comments) to traverse the element ({players: ...
Can someone please lend a hand here and let me know where I am going wrong? I've had a similar query work earlier, however it was only on 1 nested array of documents, rather than a nested array in a document that itself is contained in a nested array. Thanks in advance! :)
1条答案
按热度按时间wbgh16ku1#
使用
$[<identifier>]
filtered positional operator更新。Demo @ Mongo Playground