如何检索 mongodb 上的空查找条目?
How to retrieve null lookup entries on mongodb?
我的查询提供了我想要的连接:
db.summoners.aggregate([
{ "$match": { "nick":"Luispfj" } },
{ "$unwind": "$matches" },
{
"$lookup": {
"from":"matches",
"localField":"matches.gameId",
"foreignField":"gameId",
"as":"fullMatches"
}
},
{ "$unwind": "$fullMatches" },
{
"$group": {
"_id": null,
"matches": { "$push":"$fullMatches" }
}
}
])
但是当我 运行 展开函数时,空条目消失了。我如何检索它们(如果可能,使用它们各自的 "gameId"s?
此外,有没有办法只检索 matches 数组,而不是将其作为它创建的 "null-id-object" 的子属性?
$unwind
采用可选字段 preserveNullAndEmptyArrays
,默认情况下为 false
。如果将其设置为 true,unwind 将输出为 null 的文档。 Read more about $unwind
{
"$unwind": {
path: "$fullMatches",
preserveNullAndEmptyArrays: true
}
},
我的查询提供了我想要的连接:
db.summoners.aggregate([
{ "$match": { "nick":"Luispfj" } },
{ "$unwind": "$matches" },
{
"$lookup": {
"from":"matches",
"localField":"matches.gameId",
"foreignField":"gameId",
"as":"fullMatches"
}
},
{ "$unwind": "$fullMatches" },
{
"$group": {
"_id": null,
"matches": { "$push":"$fullMatches" }
}
}
])
但是当我 运行 展开函数时,空条目消失了。我如何检索它们(如果可能,使用它们各自的 "gameId"s?
此外,有没有办法只检索 matches 数组,而不是将其作为它创建的 "null-id-object" 的子属性?
$unwind
采用可选字段 preserveNullAndEmptyArrays
,默认情况下为 false
。如果将其设置为 true,unwind 将输出为 null 的文档。 Read more about $unwind
{
"$unwind": {
path: "$fullMatches",
preserveNullAndEmptyArrays: true
}
},