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
解決策を自分自身で回答として投稿すると、(遅れて)それを受け入れることができ、あなたの質問は未回答のリストにはなくなります。 –