Я не хочу возвращать список используемых слов и список общих баллов.пытается вернуть 2 массива с агрегатом mongo
У меня в док, как этот
"negativeWords" : [
"Angry"
],
"positiveWords" : [
"Happy"
],
каждый документ может иметь несколько отрицательных или положительных слов.
также Каждый документ имеет общий балл, как:
"overall" : 3,
Я хочу, чтобы получить массив как:
words : [Angry, Happy, Sad, bad, excited]
и общий массив оценки для каждого документа:
в целом: [4, 3,2,5,]
Я не знаю, как получить оба.
Review.aggregate([
//now I want to get the overall scores and the array of words
{
$project: {
arr : {"$setUnion" : ["$negativeWords", "$positiveWords"]},
overallScores : "$overall"
}
},
{
$unwind : "$arr"
},
{
$group : {
_id : "$_id",
words : {$push : "$arr"},
overallScores : {$first : "$overallScores"}
}
},
EDIT: теперь я здесь до выпуска продукции. Я хочу, чтобы получить массивы:
[ { _id: 5898b02c1321831b84740320,
words: [ 'Angry', 'Happy' ],
overallScores: 3 },
{ _id: 5898b02c1321831b8474031f,
words:
[ 'Difficult',
'Easy returns',
'Afordable',
'Great products',
'Good service' ],
overallScores: 5 },
{ _id: 5898b02c1321831b8474031e,
words:
[ 'Difficult',
'Easy returns',
'Afordable',
'Great products',
'Good service' ],
overallScores: 5 },
{ _id: 5898b02c1321831b8474031d,
words: [ 'Caring', 'Easy returns', 'Bad', 'Expensive' ],
overallScores: 3 },
{ _id: 5898b02c1321831b8474031c,
words: [ 'Difficult', 'Afordable', 'Awesome' ],
overallScores: 4 },
{ _id: 5898b02c1321831b8474031b,
words: [ 'Bad', 'Respect', 'Rude', 'Expensive', 'Disgusted' ],
overallScores: 3 },
{ _id: 5898b02c1321831b8474031a,
words: [ 'Difficult', 'Afordable' ],
overallScores: 4 },
{ _id: 5898b02c1321831b84740319,
words: [ 'No refund', 'Respect' ],
overallScores: 3 } ]
код:
{
$project: {
arr : {"$setUnion" : ["$negativeWords", "$positiveWords"]},
overallScores : "$overall"
}
},
{
$unwind : "$arr"
},
{$unwind : "$overallScores"},
{
$group : {
_id : "$_id",
words : {$push : "$arr"},
overallScores : {$first : "$overallScores"}
}
}
Как общее поле относятся к массивы, или нет? –
всего лишь номер. Они не относятся к положительным словам и массиву negativeWords. –