Php geoNear在Dev服务器上不工作
我有一个mongo查询,它在我的生产服务器上运行良好。但它不会在我的开发服务器上返回结果。dev服务器上的My db是live上的db的副本 产品-AWS:Php geoNear在Dev服务器上不工作,php,mongodb,amazon-web-services,digital-ocean,Php,Mongodb,Amazon Web Services,Digital Ocean,我有一个mongo查询,它在我的生产服务器上运行良好。但它不会在我的开发服务器上返回结果。dev服务器上的My db是live上的db的副本 产品-AWS: mongo v3.0.7 开发-数字海洋 mongo v3.0.9 Mongo查询(使用RoboMongo运行)-坐标为anonimity屏蔽;) 搜索中应返回的文档如下所示(删除了不相关的字段): 我的Live server返回上述文档和另外两个文档。在Dev服务器上,我刚刚得到 { "ok" : 0, "errmsg" :
mongo v3.0.7 开发-数字海洋
mongo v3.0.9 Mongo查询(使用RoboMongo运行)-坐标为anonimity屏蔽;) 搜索中应返回的文档如下所示(删除了不相关的字段): 我的Live server返回上述文档和另外两个文档。在Dev服务器上,我刚刚得到
{
"ok" : 0,
"errmsg" : "no geo indices for geoNear"
}
我做错了什么
编辑:其他简单的CRUD查询在两台服务器上都可以正常工作 必须使用地理索引:或者如果要执行
$geoNear
。所以,只需将位置字段索引从生产复制到开发服务器。您必须使用地理索引:或者如果您想执行$geoNear
。所以,只需将位置字段索引从生产服务器复制到开发服务器。Geonear是一个聚合管道阶段。你应该这样做
db.getCollection('trips').aggregate([{
"$geoNear": {
"near": {"type":"Point","coordinates":[
-120.28923776,
38.86485915
]},
"distanceMultiplier": 6378137,
"distanceField": "dist.calculated",
"key":"start",
"maxDistance": 200,
"spherical": true,
}}])
Geonear是一个聚合管道阶段。你应该这样做
db.getCollection('trips').aggregate([{
"$geoNear": {
"near": {"type":"Point","coordinates":[
-120.28923776,
38.86485915
]},
"distanceMultiplier": 6378137,
"distanceField": "dist.calculated",
"key":"start",
"maxDistance": 200,
"spherical": true,
}}])
我不想问这个,但我该怎么做?我不想问这个,但我该怎么做?
db.getCollection('trips').aggregate([{
"$geoNear": {
"near": {"type":"Point","coordinates":[
-120.28923776,
38.86485915
]},
"distanceMultiplier": 6378137,
"distanceField": "dist.calculated",
"key":"start",
"maxDistance": 200,
"spherical": true,
}}])