创建索引时检测到Mongo循环依赖性

时间:2018-06-24 20:57:05

标签: javascript node.js mongodb express mongoose

我有一个结构如下的数据: enter image description here

我尝试写一个查询 $ near 。对于此查询,我必须创建索引,但出现错误检测到循环依赖性。这是我的代码:

定义模型

var answers = new Schema({
  countdown: String,
  location: Object,

}, {
  collection: 'test'
});
var Model = mongoose.model('Model', answers);

构建并调用查询

    Model.collection.createIndex({ "point": "2dsphere" });
    //query = { location : { $near : [ -120.24, 39.21 ], $maxDistance: 0.10 } }

    query = {
      location: {
        $near: {
          $geometry: {
            coordinates: [-120.24, 39.20  ]
          },
          $maxDistance: 1000
        }
      }
    }

  }
  Model.find(query, function ...)

您能帮我解决吗?..

2 个答案:

答案 0 :(得分:0)

您可以使用 MONGO SHELL 创建索引。使用连接字符串登录,然后选择您的 DB Collection 并运行

db.collection_name.createIndex({"field_name": "indexing value"})

这应该可以解决问题。

答案 1 :(得分:0)

button字段必须是数字数组,在您的情况下,它是字符串数组。您应该将字段类型更改为location.coordinates