MongoDB Scalaドライバには、JavaScriptインターフェイスのexplain()
関数と同等のものがありますか?MongoDB Scalaドライバには、JavaScriptインターフェイスのexplain()関数と同等の機能がありますか?
私はMongoDBのScalaのドライバは、このようなクエリで何を思ったんだけど:
collection.find(
and(geoWithinBox("geometry", bbox.swLon, bbox.swLat, bbox.neLon, bbox.neLat),
equal("properties.foo", "abc"),
exists("properties.bar")))
.limit(100)
MongoDBは、私が作成した地理空間インデックスを使用していないようですし、私はその理由を把握しようとしています。むしろ、すべての文書をスキャンしているようです。
{$and: [{"geometry": {$geoWithin: {$box: [ [-78,40],[-76,41] ] }}},
{$and: [{"properties.foo": {$eq: "abc"}},
{"properties.bar": {$exists: 1}}
]
}
]
}
(私はちょうど別の事をしようとしていたすぐ上のJSの最初のバージョンでnested- and
秒を持っていませんでした:。少なくとも、MongoShellでクエリをJS私はこれでexplain
を試みたときに私は気づいたものです)、
恐ろしい、ありがとう!私は2dsphereインデックスを使うことができるように、多角形を使用するようにボックスクエリを変更しました。私はrunCommandについて知らなかった。あなたは大きな助けになりました。 – gknauth