我有以下 MongoDB 架构:
mandate: {
type: mongo.Schema.Types.ObjectId,
ref: 'Mandate',
required: true
},
observer: {
type: mongo.Schema.Types.ObjectId,
ref: 'Observer',
required: true
},
value: {
type: Number,
required: true
},
observedAt: {
type: Date,
required: true
}
该集合包含大量数据。
我通过以下方式索取数据: 给我 2015 年至 2016 年间观察到的所有数据,其中观察者 =“a”,授权 =“b”
是否有针对 3 个字段(观察者、授权、观察者)的复合索引的最佳实践方法?
今天,我这样做:
schema.index({
mandate: 1,
observer: 1,
observedAt: -1
});
这是正确的方法吗?