タイトルごとに - 私は公式のmongodbドライバを使用しています。私は、指定されたバウンディングボックス内のすべてのPOIを取得しようとしています。Mongo db/C# - バウンディングボックスクエリの操作方法
これまでのところ私が持っている:
MongoCollection<BsonDocument> collection = _MongoDatabase.GetCollection("pois");
BsonArray lowerLeftDoc = new BsonArray(new[] { lowerLeft.Lon, lowerLeft.Lat});
BsonArray upperRightDoc = new BsonArray(new[] { upperRight.Lon, upperRight.Lat});
BsonDocument locDoc = new BsonDocument
{
{ "$within", new BsonArray(new[] { lowerLeftDoc, upperRightDoc})}
};
BsonDocument queryDoc = new BsonDocument { { "loc", locDoc }};
IList<TrafficUpdate> updates = new List<TrafficUpdate>();
var results = collection.Find(new QueryDocument(queryDoc)).SetLimit(limit);
foreach (BsonDocument t in results)
{
}
生憎このdoesntの仕事。私が取得する:0(応答して、{ "$のERR": "タイプ内不明$ 0"、 "コード":13058})
QueryFailureフラグは、タイプ内$知られていませんでした。
ありがとうございました - 私はドライバがこれをサポートしていないと思っていました! – Yannis
@Yannis、これを試してみましたか? 'BsonDocument locDoc = new BsonDocument { {" $ within "、{" $ box "、new BsonArray(new [] {lowerLeftDoc、upperRightDoc})}}' }; – RameshVel
またはmongodb-csharp公式フォーラムhttp://groups.google.com/group/mongodb-csharpを試すことができます。 – RameshVel