0
我想從我的購物車中檢索未被刪除的項目和軟件包。 我的車是這樣的:多個陣列上的Mongo DB聚集
{
"_id": "589474849d7b3f439797faf1",
"bundles": [{
"id": "57c98e25298cd0f908021c12",
"serial": "xxxx",
"status": ""
}],
"items": [{
"id": "589de9a690d632ccbc10cd64",
"status": "deleted",
"quantity": 1,
"serial": "fffff"
}]
}
我想什麼:
[
{$match: condition},
{$unwind: {"path": "$items", "preserveNullAndEmptyArrays": true}},
{$unwind: {"path": "$bundles", "preserveNullAndEmptyArrays": true}},
{$match: {"items.status": {$ne: "deleted"}}},
{$match: {"bundles.status": {$ne: "deleted"}}},
{
"$group": {
"_id": "$_id",
currency: {$first: "$currency"},
tenant: {$first: "$tenant"},
user: {$first: "$user"},
"items": {"$addToSet": "$items"},
"bundles": {"$addToSet": "$bundles"}
}
}
];
它工作正常的所有情況下,當只有一個已刪除項目,以及多個包時除外。查詢所有
預期輸出返回無束:
{
"_id": "589474849d7b3f439797faf8",
"items": [{
"id": "589de9a690d632ccbc10cd64",
"quantity": 1,
"serial": "fff"
}, {
"id": "589de9a690d632ccbc10c55",
"quantity": 1,
"serial": "xxx"
}],
"bundles": [{
"id": "57c98e25298cd0f908021c12",
"serial": "pppp"
}]
}
賈米勒喜;我可以提出建議嗎?您能否編輯您的問題以準確顯示預期結果,即您試圖從查詢中獲得的數據結構? –
謝謝我發現了一個解決方案 現在我該如何解決一個問題? – jamil
如果您自己發佈解決方案作爲答案,那麼您將能夠接受它(可能會延遲),並且您的問題將不再位於未答覆的列表中。 –