mongoosesorting和search文件由填充字段
我收集用户,新闻和用户新闻,“用户新闻”填充到“用户”和“新闻”。
我可以通过“user.name”或“news.title”来sorting和search“user-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填充不支持从填充字段sorting。 但是你可以用aggregate来做这样的事情。
UsersNewsModel.aggregate([ { $lookup: { from : 'user', localField : 'user', foreignField: '_id', as : 'user' } }, { $unwind: { path: $user } }, { $sort: { user.name: -1 } } ])