每題 - 我使用的是官方的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)
{
}
可惜的是,這並不工作。我得到:
QueryFailure標誌是類型中未知$:0(迴應是{ 「$ ERR」: 「類型中未知$:0」, 「密碼」:13058})。
謝謝隊友 - 我開始覺得司機不支持這個! – Yannis 2012-02-09 18:37:20
@Yannis,你試過這個嗎?'BsonDocument locDoc = new BsonDocument {「$ within」,{「$ box」,new BsonArray(new [] {lowerLeftDoc,upperRightDoc})}}' }; – RameshVel 2012-02-09 18:45:13
或者你也可以試試mongodb-csharp官方論壇http://groups.google.com/group/mongodb-csharp .. – RameshVel 2012-02-09 18:46:01