2016-08-10 2 views
0

私の運用サーバー上で正常に動作するmongoクエリがあります。しかし、それは私のdevサーバー上の結果を返しません。私のdb on devサーバはlive on dbのレプリカです。geoNearがDev Serverで動作しません

のProd - AWS:
のmongo v3.0.7

のDev - デジタルオーシャン
のmongo v3.0.9

Mongoの照会(実行RoboMongoを使用) - 匿名性のためにマスクされた座標;)

db.getCollection('$cmd').findOne({ 
    "geoNear": "ProviderData", 
    "near": [ 
    XX.1325611, 
    XX.1357446 
    ], 
    "spherical": true, 
    "distanceMultiplier": 6378137, 
    "query": { 
    "BusinessType": "557ff3f98b424a1009776ba5", 
    "Status": "1" 
    } 
}) 

検索で返されるドキュメントは次のようになります(無断フィールドは削除されました)。

{ 
    "_id" : ObjectId("566xxxxxxxxxxxxxxxxxxdb0"), 
    "ProviderName" : "Test Fitness Business", 
    "BusinessType" : "557ff3f98b424a1009776ba5", 
    "Location" : { 
     "Longitude" : XX.135745, 
     "Latitude" : XX.132561 
    }, 
    "ImageFlag" : "1", 
    "Status" : "1", 
    "OrderEmail" : "[email protected]", 
    "Radius" : "12", 
    "ParentCompanyName" : "Test Fitness Business", 
} 

私のライブサーバーは上記のドキュメントと他の2つを返します。私はちょうど得るDevサーバー上で

{ 
    "ok" : 0, 
    "errmsg" : "no geo indices for geoNear" 
} 

私は間違って何をしていますか?

EDIT:他の単純なCRUDクエリは、両方のサーバーでうまく動作します。

答えて

0

を実行する場合は、ジオインデックス(2Dまたは2DSphere)を使用する必要があります。ですから、プロダクションから開発サーバーにロケーションフィールドインデックスをコピーするだけです。

+0

これは嫌いですが、どうすればいいですか? – eNeMetcH

関連する問題