带根的mongodb刻面
是否有一种方法可以将根文档推送到带根的mongodb刻面,mongodb,aggregate,facet,Mongodb,Aggregate,Facet,是否有一种方法可以将根文档推送到$facet上的特定字段,而无需$group?比如说, db.artwork.aggregate( [ { $facet: { "categorizedByTags": [ { $unwind: "$tags" }, { $sortByCount: "$tags" } ], "items": [{$push
$facet
上的特定字段,而无需$group
?比如说,
db.artwork.aggregate( [
{
$facet: {
"categorizedByTags": [
{ $unwind: "$tags" },
{ $sortByCount: "$tags" }
],
"items": [{$push: "$$ROOT"}] // I want to push all root document to `items`.
}
}])
是的,只需使用空的
$match
,如下所示:
db.artwork.aggregate( [
{
$facet: {
"categorizedByTags": [
{ $unwind: "$tags" },
{ $sortByCount: "$tags" }
],
"items": [{$match: {}}]
}
}])
您可以这样使用:
db.artwork.aggregate( [
{
$facet: {
items: [ { $match: {} } ],
}
}
])
只需使用
“items”:[]
,它本身收集根文档。@Turivshal当我使用空数组时,mongodb引发错误。“$facet阶段不能为空。”查看工作可能是版本问题,您可以通过@Tom尝试回答