はnodejsでコレクションからの情報でarticleIDに対してカウントを取得し、MongoDBのために必要句は(情報でarticleIDのコレクション)配列に対してMongoDBの中で数えます
{
"5836d0f7f8462cbc6d0caffc",
"5836e493f2acbd1d34648e78",
"5836dba8a2943528448a3050"
}
必要に似ている
/* 1 */
{
"_id" : ObjectId("5836d0f7f8462cbc6d0caffc"),
"DeviceId" : "abcd1234",
"AppType" : "web",
"UserId" : "5836cb01f8462cbc6d0caff8",
"ArticleId" : "5836cb01f8462cbc6d0caff8",
"Timestamp" : ISODate("2016-11-24T11:37:27.851Z")
}
/* 2 */
{
"_id" : ObjectId("5836e5f617632727286475e0"),
"Apptype" : "android",
"DeviceId" : "abcsd1212",
"UserId" : "19283738264817",
"ArticleId" : "5836wp0615555727286475e0",
"Timestamp" : "2016-11-24 12:23:04.484Z"
}
/* 3 */
{
"_id" : ObjectId("583d487803d7691d54a82060"),
"DeviceId" : null,
"AppType" : null,
"UserId" : null,
"ArticleId" : "583d28412f93b67c1500002a",
"Timestamp" : ISODate("2016-11-29T09:20:56.895Z")
}
/* 4 */
{
"_id" : ObjectId("583d4aa564b47b199ca6b71e"),
"DeviceId" : null,
"AppType" : null,
"UserId" : null,
"ArticleId" : "583559814d93b6080d000029",
"Timestamp" : ISODate("2016-11-29T09:30:13.785Z")
}
/* 5 */
{
"_id" : ObjectId("583d4ab364b47b199ca6b71f"),
"DeviceId" : null,
"AppType" : null,
"UserId" : null,
"ArticleId" : "58343672dc1434742700002a",
"Timestamp" : ISODate("2016-11-29T09:30:27.200Z")
}
/* 6 */
{
"_id" : ObjectId("584502efc0e6500558d20874"),
"DeviceId" : null,
"AppType" : null,
"UserId" : null,
"ArticleId" : "583d28412f93b67c1500002a",
"Timestamp" : ISODate("2016-12-05T06:02:23.905Z")
}
結果を取得する
[{"ArticleId" : "5836d0f7f8462cbc6d0caffc","ViewCount":5},
{"ArticleId" : "5836e493f2acbd1d34648e78","ViewCount":42},
{"ArticleId" : "5836dba8a2943528448a3050","ViewCount":19}]
アドバンスe
試しましたか? sumの計算中に演算子とグループ内の記事IDを使用して一致するようなもの – Veeram
これらの_idは実際にArticleIdフィールドと一致していますか?最初のドキュメント "_ 5836d0f7f8462cbc6d0caffc"は、最初のドキュメントの_idとしてデータに入っています。それぞれが文書_idである場合、それぞれ最大1のカウントで返されます。 –
私はここにいくつかのダミーデータを掲載しました。私のコレクションには1つ以上のlakhデータが含まれています。 – Ani