首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用mongoose设置2dsphere索引

无法使用mongoose设置2dsphere索引
EN

Stack Overflow用户
提问于 2019-05-06 18:48:02
回答 1查看 474关注 0票数 0

我正在尝试为mongoose地理空间设置2dsphere索引,但由于某些原因我做不到,我已经尝试了所有方法,但仍然无法获得它。

这是我的模式和位置字段。

代码语言:javascript
复制
loc: {
     type: { type: String, default: "Point" },
     coordinates: { type: [Number] }
},
causeSchema.index({ "loc": "2dsphere" });

和错误

找不到$geoNear查询的索引

如果有人知道解决方案,请在这里分享。谢谢

EN

回答 1

Stack Overflow用户

发布于 2019-12-16 00:51:50

好吧,实际上我刚刚找到了解决方案。代码是完全正确的。

基本上,我是想建立一个2dsphere索引,就像你一样:

代码语言:javascript
复制
mySchema.index({ startLocation: '2dsphere' });

集合中的所有文档都将此startLocation字段设置为GeoJSON值,特别是Point...,但只有一个除外!该字段没有任何startLocation字段的值,因此我无法设置索引!我刚刚删除了那个文档,是的,索引就在那里!

我是怎么做到这一点的?

我在读MongoDB documentation的时候发现了这个:

如果文档缺少2dsphere索引字段(或者该字段为空或空数组),则MongoDB不会将该文档的条目添加到索引中

我认为它与这个问题相关,这让我认为可能有一个文档缺乏startLocation的价值,实际上这就是原因。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56003641

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档