我了解到在查询期间无法按照mongodb中的填充字段进行排序。假设我有一个类似下面的模式,我有100万条记录数据。我只需要为每个查询返回10条记录,具体取决于列排序(asc / desc)和页面定义。这个问题的有效解决方案是什么?
简化问题: 在前端,我将有一个数据表,其中包含列firstname,lastname,test.columnA和test.columnB。此列中的每一列都可由用户排序。
我最初的解决方案是在mongoose中查询所有内容,将其展平为json并使用javascript重新排序并最终仅响应最终的10个数据。但随着数据集的增加,这将对性能产生不良影响。
var testSchema = {
columnA: { type: String },
columnB: { type: String },
}
var UserSchema = {
firstname: { type: string },
lastname: { type: string },
test: {
type: ObjectId,
ref: 'Test'
}
}