我使用 sails.js 和 waterline 在 mongodb 上收集了大量时间序列。
我发现如果将我的索引更改为反向,它可以将我的查询时间缩短 40%。
是否可以在我的模型上实现反向索引?或者如果不是。当水线正在构建我的模型时,它是否有一个解决方法可以让我使用 sails 或 grunt 为我设置?
“包含字段和值对的文档,其中字段是索引键,值描述该字段的索引类型。对于字段上的升序索引,指定值 1;对于降序索引,指定值 -1。”
mongodb 网站上的索引文档: Mongodb: Create Index
最佳答案
您可以使用 sails-hook-mongoat包为您的 sails 模型添加高级 mongo 索引选项。
用法很简单:
// api/models/MyModel.js
module.exports = {
attributes: {
myDate: {
type: 'date',
required: true
}
},
indexes: [
{
attributes: {
myDate: -1
}
}
]
};
您还可以使用 Mongo Index Options :
// [...]
indexes: [
{
attributes: {
myDate: -1
},
options: {
unique: true
expireAfterSeconds: 60
}
}
]
// [...]
关于mongodb - 水线如何制作反向索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38339319/