我有一个查询应该执行以下操作:获取两组坐标并返回任何坐标附近的位置。
我正在使用 Mongoose.js 开发 Node.js。
原始查询代码如下(在我尝试使用query.or()
语法之前:
query.or([{geoNear: "loc", near: start, spherical: true},{geoNear: "loc", near: end}]);
问题似乎正在使用,$or
因为我最初尝试将代码设置为:
that.count({
_cat: _cat ,
$or: [
{
loc: { $nearSphere: start }
},
{
loc: { $nearSphere: end }
}
]}, function(err, c) {
// do something
});
当我使用没有$or
(即start
或end
)的位置进行搜索时,我能够获得结果。这就是我确定问题出在$or
.
mongoDB/mongoose 是否支持使用$or
地理空间搜索,还是我做错了什么?