【问题标题】:How to create mongodb 2dsphere index on strapi?如何在strapi上创建mongodb 2dsphere索引?
【发布时间】:2021-06-15 14:54:01
【问题描述】:

我的 strapi 项目使用 Mongo 数据库。

Strapi 版本:3.0.0-beta.19.5

我试过了:

  • 使用 mongo 控制台中的命令手动创建 2dsphere 索引,但是当应用程序开始运行时,索引被删除。我想也许数据库有点与 strapi 模型配置同步。

  • 我检查了strapi document,发现有一个选项可以通过向 model.settings.json 添加配置来创建索引,但只有一个 单字段索引选项。

有什么方法可以创建 2dspere 索引

【问题讨论】:

    标签: mongodb strapi


    【解决方案1】:

    我刚刚找到了解决方案。我不得不查看mongoose documentation 索引部分

    在strapi文档中,他们只告诉'index'的值是一个boolean类型。这与猫鼬文档不同。实际上 model.settings.json 结构遵循 mongoose 文档。

    因此,要创建 2dsphere 索引,我们只需在该字段的键“index”中指定“2dsphere”即可。

    例如。

    {
      "kind": "collectionType",
      "connection": "default",
      "collectionName": "phone_stores",
      "info": {
        "name": "phoneStore"
      },
      "options": {
        "increments": true,
        "timestamps": true
      },
      "attributes": {
        "car": {
          "type": "integer",
          "required": true
        },
        "userStoreId": {
          "type": "objectId"
        },
        "location": {
          "type": "json",
          "index": "2dsphere" // <------ <1>
        },
      }
    }
    

    如果指定为 true,则将在此字段上创建 Single field index。但是你也可以指定其他类型的index,比如我使用'2dsphere'。

    更新

    我所说的

    你也可以指定其他类型的索引

    不正确。由于框架,索引类型受到限制。到目前为止,我已经用2dsphere 进行了测试,它正在工作。我也测试了text 索引,但是没有用。

    【讨论】:

      猜你喜欢
      • 2021-10-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-09
      • 2017-03-24
      • 1970-01-01
      • 2013-09-16
      相关资源
      最近更新 更多