0

mongo db コレクションでバウンディング ボックス クエリを実行しようとしています。このコレクションはかなり前から存在しており、最近、Mongodb 2.2 のいくつかの新機能を利用するために、ドライバーを 1.3 から 1.6 にアップグレードしました。次のクエリは機能しません。

var query = Query<TrafficUpdate>.WithinRectangle(x => x.Loc, lowerLeft.Lon, lowerLeft.Lat, upperRight.Lon, upperRight.Lat);

ただし、上記の行はもう機能しません。「..... の特別なインデックス 2d が見つかりません」というエラーが返されます。

どんな助けでも大歓迎です。

ありがとう。

4

1 に答える 1

0

実際に答えを見つけました。ドライバーにバグがあるはずです。プロパティ Loc は、コレクション内で「loc」として自動マップされる必要があります。これは、データベースへの書き込みまたは読み取り時に問題なく機能します。ただし、WithinRectangle クエリ (.Near クエリと同じ) の場合、上記のエラーがスローされます。

答えは、構成でプロパティを明示的にマップすることです。

cm.MapProperty(c => c.Loc).SetElementName("loc");`

多分これは何人かの人々を助けるでしょう。

于 2012-09-15T10:01:14.907 に答える