我有收藏用户,新闻和用户 - 新闻。"用户news"填充"用户"one_answers"新闻"。
我可以按" user.name"或" news.title"对"用户news"的"用户news"进行排序和搜索文档?
const usersSchema = new Schema({ name: String })
const newsSchema = new Schema({ title: String }),
UsersNewsModel.find(queryObj)
.populate('user', 'name')
.populate('news', 'title')
.sort({ 'user.name': -1 })
.exec((findError, records) => {...}
mongoose填充不支持从填充的字段排序。但是您可以通过汇总做这样的事情。
UsersNewsModel.aggregate([
{
$lookup: {
from : 'user',
localField : 'user',
foreignField: '_id',
as : 'user'
}
},
{
$unwind: {
path: $user
}
},
{
$sort: {
'user.name': -1
}
}
])