如何在strapi上创建mongodb 2dsphere索引?

如何在strapi上创建mongodb 2dsphere索引?,mongodb,strapi,Mongodb,Strapi,我的strapi项目使用Mongo数据库 Strapi版本:3.0.0-beta.19.5 我试过: 使用mongo控制台中的命令手动创建2dsphere索引,但当应用程序开始运行时,索引被删除。我认为数据库可能与strapi模型配置同步 我检查了,发现有一个选项可以通过向model.settings.json添加配置来创建索引,但只有一个单字段索引选项 有没有办法创建一个2dspere索引?我刚刚找到了一个解决方案。我必须查一下索引部分 在strapi文档中,它们只告诉您'index'的值

我的strapi项目使用Mongo数据库

Strapi版本:3.0.0-beta.19.5

我试过:

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

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


有没有办法创建一个2dspere索引?

我刚刚找到了一个解决方案。我必须查一下索引部分

在strapi文档中,它们只告诉您'index'的值是布尔类型。这与猫鼬博士不同。实际上,model.settings.json结构遵循mongoose文档

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

例如

{
“种类”:“收集类型”,
“连接”:“默认”,
“collectionName”:“手机商店”,
“信息”:{
“名称”:“电话商店”
},
“选择”:{
“增量”:正确,
“时间戳”:真
},
“属性”:{
“汽车”:{
“类型”:“整数”,
“必需”:true
},
“userStoreId”:{
“类型”:“objectId”
},
“地点”:{
“类型”:“json”,

“索引”:“2dsphere”/我刚刚找到了一个解决方案。我必须查找索引部分

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

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

例如

{
“种类”:“收集类型”,
“连接”:“默认”,
“collectionName”:“手机商店”,
“信息”:{
“名称”:“电话商店”
},
“选择”:{
“增量”:正确,
“时间戳”:真
},
“属性”:{
“汽车”:{
“类型”:“整数”,
“必需”:true
},
“userStoreId”:{
“类型”:“objectId”
},
“地点”:{
“类型”:“json”,
“索引”:“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>
    },
  }
}