У меня есть две коллекции MongoDB Customer
и User
в 1:1
отношения. Я пытаюсь запросить оба документа, используя Mongoose Population и сортировать их по User.name
.Правильный синтаксис для сортировки mongoose 3.x заполненный документ
Ничто не работает. Мой Мангуст - 3.8.19.
Customer
.find({})
.populate("user", "name email phone")
.sort({ "name": 1 })
.exec()
Customer
.find({})
.populate("user", "name email phone", null, { sort: { 'name': 1 } })
.exec()
Customer
.find({})
.populate({
path: "user",
select: "name email phone",
options: { sort: { "name": 1 }}
}).
exec()
Customer
.find({})
.populate({
path: "user",
select: "name email phone",
options: { sort: [{ "name": 1 }]}
})
.exec()
Я нашел How to sort a populated document in find request?, но не удался для меня.
Было бы что-то, как показано ниже в SQL:
SELECT customer.*, user.name, user.email, user.phone FROM customer
JOIN user ON customer.user_id = user.id
ORDER BY user.name ASC
Вы не можете сортировать свои документы в заполненном поле. http://stackoverflow.com/questions/19428471/node-mongoose-3-6-sort-query-with-populated-field – JohnnyHK