gpt4 book ai didi

mongodb - GeoNear Mongoose 和 2d 索引

转载 作者:可可西里 更新时间:2023-11-01 09:59:20 24 4
gpt4 key购买 nike

我正在执行这个查询

{
"$geoNear":{
"uniqueDocs":true,
"includeLocs":true,
"near":[
8.759131,
40.272393
],
"spherical":false,
"distanceField":"d",
"maxDistance":0.09692224622030236,
"query":{
},
"num":3
}
}

在此模型上:

var ridePathSchema = new Schema({
...
loc: [Number],
...
});
ridePathSchema.index({
loc: "2d"
});

然后我得到:

Unhandled rejection reason: MongoError: 
can't find any special indices: 2d (needs index), 2dsphere (needs index)

有趣的是,就在这个查询之前,我确实对同一模型执行了一个类似的查询,但我确实对其进行了聚合并且它有效。

我做错了什么?

更新:

RidePaths.aggregate([query]) WORKS

RidePaths.find(query) CAN'T FIND INDEX

最佳答案

$geoNear 应该作为 command 执行或在聚合查询的第一阶段(如您所述)。

不能将命令传递给 mongooses find() 方法。发出命令的唯一方法是通过驱动程序接口(interface)。有关如何执行此操作的工作示例,请参阅此要点:https://gist.github.com/aheckmann/5871847

请记住,驱动程序接口(interface)的结果不会是 mongoose 文档,因为 mongoose 已被绕过。

关于mongodb - GeoNear Mongoose 和 2d 索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16747852/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com