昇順のアカウントで結果をソートしてサブコレクションのカウントをカウントすることに問題があります。だから、問題は、私はまた、昇順に並べ替える配列フィールドrequire
のカウントでコレクションを返したかったです結果をMongoDBに戻し、昇順でソートするサブコレクション配列の数を返します。
{
"_id" : ObjectId("58bbf0a4b14e5fc44d5e9393"),
"label" : "Binarization",
"name" : "nlbin",
"require" : []
},
{
"_id" : ObjectId("58bbfb5eb14e5fc44d5e9c87"),
"label" : "Binarization",
"name" : "jpeg",
"require" : [ObjectId("58bbf0a4b14e5fc44d5e9393")]
},
{
"_id" : ObjectId("58bbfb4db14e5fc44d5e9c76"),
"label" : "Binarization",
"name" : "pseg",
"require" : [ObjectId("58bbf0a4b14e5fc44d5e9393"), ObjectId("58bbfb5eb14e5fc44d5e9c87")]
}
:ここ
は私のコレクションscripts
がどのように見えるかです。 ObjectId("58bbf0a4b14e5fc44d5e9393")
として完全に間違っている
{
"_id" : ObjectId("58bbf0a4b14e5fc44d5e9393"),
"count" : 2
},
{
"_id" : ObjectId("58bbfb5eb14e5fc44d5e9c87"),
"count" : 1
}
数を持っている必要があります。
db.getCollection('scripts').aggregate({ $unwind: "$require" },{ $sortByCount:"$require" },{$sort: {count: 1}})
問題は、それが望ましい結果を返すされていない、それは実際にこのような何かが私を返すことです。私が書いたクエリは、このようなものでした0
。最大のcount
(つまりObjectId("58bbfb4db14e5fc44d5e9c76")
)のコレクションも結果に含まれません。
最終的な結果は次のようにする必要があります:
{
"_id" : ObjectId("58bbf0a4b14e5fc44d5e9393"),
"count" : 0
},
{
"_id" : ObjectId("58bbfb5eb14e5fc44d5e9c87"),
"count" : 1
},
{
"_id" : ObjectId("58bbfb4db14e5fc44d5e9c76"),
"count" : 2
}
は、あなたたちは私はあなたが行うことができます
ありがとうございます。これは私の集計関数でフィールドのような投影を行うことができてうれしいです。 – Seeker