複数のObjectがマップ内のある点から離れて移動することをシミュレートするNode.jsテストがあります。その地点からの大惨事。 各オブジェクトは、ネストされた従来の2dインデックス'location.loc'
を持つモデルに対応します。
私はこれが
var center={_lat:20,lng:-100};
var area = {
center: [center._lng,center._lat],
radius: 100,//This are supossed to be meters
unique: true,
spherical: true }
MyModel.where('location.loc')
.within()
.circle(area)
.exec(function (err, records) {
if (err) {
throw err;
}
//Log Length of records
});
そして
MyModel.find({
"location.loc": {
$near: [center._lng,center._lat],
$maxDistance: 1 //This is suposed to be a mile
}
}).exec(function(err, documents) {
if (err) {
throw err;
}
//Log documents length
});
を照会に使用しているが、両方のスクリプトが、彼らはマイル離れた地点からの場合であっても、私の文書のTE全体のコレクションを返します。 同時に、私のMongoクライアントで$ near、$ geoWithinとそれらのクエリを使って同じクエリを実行すると、正しい答えが得られます。
私のMongooseスクリプトで何が問題になっていますか?
このシナリオでは、within()。circle()を使用したthestのみが必要ですか?