Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用mongodb中的一些其他地理空间查询模拟$near_Javascript_Mongodb_Mongodb Query - Fatal编程技术网

Javascript 使用mongodb中的一些其他地理空间查询模拟$near

Javascript 使用mongodb中的一些其他地理空间查询模拟$near,javascript,mongodb,mongodb-query,Javascript,Mongodb,Mongodb Query,因此,自从mongodb 2.6以来,我不能用$near做$or$和$and操作,有什么方法可以模仿吗 db.places.find({$or: [{loc: {$near: [50,50]}}, {rating: {$gt: 3}}]) 由于上面的代码不可能,我可以用其他一些查询(如$geointen或$geometry)替换$near以获得相同或类似的结果吗 编辑: 我发现 db.places.find({$or: [{loc: {$geoWithin: {$centerSphere: [

因此,自从mongodb 2.6以来,我不能用$near做$or$和$and操作,有什么方法可以模仿吗

db.places.find({$or: [{loc: {$near: [50,50]}}, {rating: {$gt: 3}}])
由于上面的代码不可能,我可以用其他一些查询(如$geointen或$geometry)替换$near以获得相同或类似的结果吗

编辑:

我发现

db.places.find({$or: [{loc: {$geoWithin: {$centerSphere: [50,50], 100}}}, {rating: {$gt: 3}}])

如果我在第一个示例中使用$maxDistance,那么这是否相同呢?

好的,
$geoinsin
$centreSphere
相对来说是相同的(正如您刚才提到的),但区别当然是没有可用距离的“排序”或投影选项。您始终可以运行两个查询并合并结果。执行此操作的方法因语言实现而异。此外,由于查询参数不是顶级运算符,因此不允许仅使用
$和:[]
表单。MongoDB中的所有常规查询条件都已经是“and”语句,并且是允许的。您应该很少需要第一个表单谢谢您的回答mateWell a
$geointen
$centreSphere
相对来说是相同的(正如您刚才提到的),但区别当然是没有可用距离的“排序”或投影选项。您始终可以运行两个查询并合并结果。执行此操作的方法因语言实现而异。此外,由于查询参数不是顶级运算符,因此不允许仅使用
$和:[]
表单。MongoDB中的所有常规查询条件都已经是“and”语句,并且是允许的。你应该很少需要第一个表单谢谢你的回答,伙计