拥有以下Mongoose查询:
User.find({$or: [
{ 'expertData.category': { $in: categoryIds } },
{ 'expertData.areas.category': { $in: categoryIds } }
]})
.limit(perPage)
.skip(perPage * page);
字段'expertData.category'
和'expertData.areas.category'
是Category
集合的引用ID,具有以下架构:
var CategorySchema = new Schema({
name: {type: String},
desc: {type: String},
src : {type: String},
updated: {
type: Date,
default: Date.now
}
});
是否有任何方式以这种方式对文档进行排序,因此在结果数组的开头将是$or
运算符中匹配第一个条件的文档(即{ '_expertData.category': { $in: categoryIds } }
),然后才会是所有与$or
运算符中的第二个条件匹配的文档(即{ '_expertData.areas.category': { $in: categoryIds } }
)?
答案 0 :(得分:0)
是的,您可以单独执行命令,并将第二个查询的结果附加到第一个查询的结果中。