我试图通过查询$或在不同字段上返回文档,包括带有问题的$ near查询。
模式
locationSchema{
...
beacon: String,
access_point: String,
gps: [],
...
}
locationSchema.index({ gps: '2dsphere' });
查询
locations.find({
'$or': [
{
gps: {
'$near': {
'$geometry': {
type: 'Point',
coordinates: [
13.1313131,
-4.444444
]
},
'$maxDistance': 50,
distanceField: 'distance',
spherical: true
}
}
},
{
access_point: '88:A6:BB:26:95:11'
},
{
access_point: '88:A6:C6:26:CC:21'
}
]
},
function(err,locations){
//DosomethingwithfoundLocations
});
如果我只使用$near
输入执行查询,则会按预期返回一个位置,如果仅使用access_point
列表执行查询,则会返回一个位置,但是当两个查询同时运行时都不会。
我假设这是一个错误,但无论如何我可以使用这种类型的查询吗?
由于