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
如果您自己发布解决方案作为答案,那么您将能够接受它(可能会延迟),并且您的问题将不再位于未答复的列表中。 –