我没有在查询中使用$geoNear
,而是使用了$nearSphere
。但这显示了$geoNear
的错误。错误会在处理查询时造成中断。并非总是如此,而是每小时或大约12小时一次。
我正在使用Mongoose
我已将项目部署在Heroku
我已经使用过2dsphere
索引。
scheduleRideSchema.index({ source: '2dsphere' });
我的查询:
const source_match = await Trip.find({
$or: [
{
$and: [
{ pickupStart: { $gte: pickupStartTime }},
{ pickupEnd: { $lte: pickupStartTime }}
]
},
{
$and: [
{ pickupStart: { $gte: pickupStartTime }},
{ pickupEnd: { $lte: pickupEndTime }}
]
},
{
$and: [
{ pickupStart: { $lte: pickupStartTime }},
{ pickupEnd: { $gte: pickupStartTime }}
]
}.
{
$and: [
{ pickupStart: { $lte: pickupStartTime }},
{ pickupEnd: { $gte: pickupEndTime }}
]
}
],
source: {
$nearSphere: {
$geometry: {
type: "Point",
coordinates: sourceCord.coordinates
},
$maxDistance: 4000
}
},
cancel: false,
complete: false
});
错误:
错误处理查询:ns = UpdatedJaza.tripsTree:$ and $ or $ and Pickup $ lte new Date(1563352260000)Pickup $ gte new 日期(1563352260000)$和拾取结束$ lte新日期(1563355860000) Pickstart $ gte new Date(1563352260000)$ and pickStart $ lte new 日期(1563352260000)提取结束$ gte新日期(1563352260000)$和 PickStart $ lte new Date(1563352260000)Pickup $ gte new 日期(1563355860000)取消$ eq假完成$ eq假GEONEAR field = source maxdist = 4000 isNearSphere = 0排序:{}项目:{}计划者 >返回错误:找不到$ geoNear查询的索引”