#javascript #reactjs #mongodb #meteor #aggregation
#javascript #reactjs #mongodb #метеор #агрегирование
Вопрос:
Я использую MeteorJS. Теперь я пытаюсь извлечь данные с помощью метода meteor call. Это работает хорошо. Но у меня есть $lookup
для агрегирования, оно также работает нормально. Теперь я пытаюсь извлекать данные только по уникальности, дублировать не нужно.
[![Meteor.methods({
allIndications(someId) {
const indications = Promise.await(
Medicines.aggregate([
{
$lookup: {
from: "indications",
localField: "medicine_indications",
foreignField: "_id",
as: "AllIndications"
}
},
{
$unwind: {
path: "$AllIndications",
preserveNullAndEmptyArrays: true
}
},
{ $project: { _id: 1, AllIndications: 1 } }
]).toArray()
);
return indications;
}
});][1]][1]
Комментарии:
1. Добавьте еще один этап $group к последним всем ссылкам. вы получите уникальные указания.
Ответ №1:
Вы можете попробовать это
[![Meteor.methods({
allIndications(someId) {
const indications = Promise.await(
Medicines.aggregate([
{
$lookup: {
from: "indications",
localField: "medicine_indications",
foreignField: "_id",
as: "AllIndications"
}
},
{
$unwind: {
path: "$AllIndications",
preserveNullAndEmptyArrays: true
}
},
{
$group:{
_id:null,
AllIndications:{$addToSet: "$AllIndications"}
}
},
{ $project: { _id: 1, AllIndications: 1 } }
]).toArray()
);
return indications;
}
});][1]][1]