надеюсь, у всех дела идут хорошо.
У меня проблема с применением сортировки на заполненном поле. У меня есть две модели, скажем, socialChannels: которые будут иметь детали, такие как
{
_id: "5643bgh534j3453jhf5",
name: "Facebook",
icon: "fb.png"
}
В другой модели, скажем, channelDeliverables: которые будут иметь детали, такие как
{
_id: "546b5uhjh454v3j22jh",
channelId: "5643bgh534j3453jhf5",
name: "Facebook Page",
icon: " fbPage.png"
}
Итак, после заполнения модели channelDeliverables Я получаю что-то вроде
{
_id: "546b5uhjh454v3j22jh",
channelId: {
_id: "5643bgh534j3453jhf5",
name: "Facebook"
},
deliverableName: "Facebook Page",
icon: " fbPage.png"
}
Теперь я хочу применить сортировку к полю channelId.name. Как я могу это сделать.
Я пробовал:
let query = await Deliverable.find(filter)
.populate('channelId', {_id: 0, name: 1, order: 1, iconUrl: 1})
.sort({'channelId.name': 1})
.skip((offset - 1) * limit)
.limit(limit);
и
let query = await Deliverable.find(filter)
.populate({
path: 'channelId',
select: {_id: 0, name: 1, order: 1, iconUrl: 1},
options: {sort: {name: 1}}, // I also has tried 'channelId.name' : 1 here
})
.skip((offset - 1) * limit)
.limit(limit);
Буду признателен за любую помощь.