1
私は集計パイプラインの下にあります。私はこのような書類を作りたいと思っています{upvotes : 20, downvotes : 30}
。 vote
フィールドをチェックし、値がup
の場合はupvotes
フィールドに追加し、down
フィールドの場合はdownvotes
フィールドに追加します。どのように私はその文書を作るのですか?集計を使用して特定の値を持つフィールドを合計する新しい文書を作成する
{ _id: 57aea6791016c0b023a71e9d,
review:
{ _id: 57aeb0ee1015118c2b19c8b9,
updatedAt: Fri Aug 12 2016 22:33:17 GMT-0700 (Pacific Daylight Time),
createdAt: Fri Aug 12 2016 22:32:30 GMT-0700 (Pacific Daylight Time),
vote: 'up',
reviewText: 'test pleas',
company: 57aea6791016c0b023a71e9d,
companyName: 'comp1',
userType: 'anon',
user: 57aeb0dd1015118c2b19c8b8,
statements: [Object],
__v: 0,
className: '',
momented: 'a minute ago' } },
{ _id: 57aea6791016c0b023a71e9d,
review:
{ _id: 57aeb11d3a6bd2cc24b080ad,
updatedAt: Fri Aug 12 2016 22:33:17 GMT-0700 (Pacific Daylight Time),
createdAt: Fri Aug 12 2016 22:33:17 GMT-0700 (Pacific Daylight Time),
vote: 'down',
reviewText: 'This will hopefully be good',
company: 57aea6791016c0b023a71e9d,
companyName: 'comp1',
userType: 'anon',
user: 57aeb1033a6bd2cc24b080ac,
statements: [Object],
__v: 0,
className: 'thisUser',
momented: 'a few seconds ago' } } ]
集約これまで
Comps.aggregate([
{"$unwind" : "$reviews"},
{
"$lookup":{
"from" : "reviews",
"localField" : "reviews",
"foreignField" : "_id",
"as" : "review"
}
},
{ "$unwind": "$review" },
{$project : {
review:1
}}
動作しているようです。感謝します。 –