我有一组看起来像这样的文件:
{
location: { type: "Point", coordinates: [-76, 42 },
serial: "as23ksfda",
topic: "rainbows",
date: ISODate("2017-01-01T04:35:12-04:00")
}
我想运行以下条件为限的查询:
$and: [{$gt: ISODate("2017-01-01T04:30:21-04:00")}, {$lt:ISODate("2017-02-01T04:30:21-04:00")}]
)和序列号$near: {$geometry: etc... }
)换句话说:
鉴于此信息,我想在集合上创建一组适当的索引,以便获得良好的查询性能(显然不会严重影响写入性能,通常的索引权衡)。
例如,如果我创建:
db.collection.createIndex({
serial: 1,
date: 1,
location: "2dsphere"
})
...我还应该创建一个额外的索引来支持我想要的查询集(不包括位置)吗? e.g:
db.collection.createIndex({
serial: 1,
date: 1
})
......或者是无偿的,没有帮助?