水线如何制作逆向指数

时间:2016-07-12 21:40:20

标签: mongodb sails.js waterline

我使用sails.js和waterline在mongodb上收集了大量的时间序列。

我发现如果将我的索引更改为反转,它会将查询时间提高40%。

是否可以在我的模型上实现反向索引?或者如果不是。当水线正在构建我的模型时,它是否有一个可以使用帆或咕噜为我设置的解决方法?

“包含字段和值对的文档,其中字段是索引键,值表示该字段的索引类型。对于字段的升序索引,请指定值1;对于降序索引,指定值-1。“

mongodb网站索引的文档: Mongodb: Create Index

1 个答案:

答案 0 :(得分:2)

您可以使用sails-hook-mongoat包为您的帆模型添加高级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
      }
    }
  ]
  // [...]