例如,我在我的收藏中有这些文件。
{
_id: ObjectId("5234cc89687ea597eabee675"),
code: "xyz",
tags: [ "school", "book", "bag", "headphone", "appliance" ],
qty: [
{ size: "S", num: 10, color: "blue" },
{ size: "M", num: 45, color: "blue" },
{ size: "L", num: 100, color: "green" }
]
}
{
_id: ObjectId("5234ccb7687ea597eabee677"),
code: "efg",
tags: [ "school", "book" ],
qty: [
{ size: "S", num: 10, color: "blue" },
{ size: "S", num: 100, color: "blue" },
{ size: "S", num: 100, color: "green" }
]
}
我希望得到第二份文件,每个文件大小'是'
我已经尝试了$ all和$ elemMatch
(就像这样:https://docs.mongodb.com/manual/reference/operator/query/all/#use-all-to-match-values),但它仍然让我回复了他们两个。
还有其他办法吗?
我知道我可以使用$ aggregate与$ unwind,$ project ...来制作它,但如果我想更新它,我该怎么办。我只是想找到(更新)所有' size'在它的数量'是' S,而不是其中一些是' S'