0

在 MongoDB 中开发使用 cms 的桥梁 我使用存储键、值、类型来管理链接到 cms 的所有值。这些键、类型值存储在 中web.config以允许可扩展的模式。在这种情况下,不允许定义类对象来保留动态模式。结果是存储为 DynamicArray。这产生了一些关于执行和存储纬度经度以使用Query.Near运算符以执行方式检索的问题。

DynamicArray
{  
    item : { Key: "lat", Value: "12.897", Type:double }
    item : { Key: "lng", Value: "12.345", Type:double }  
    item : { Key: "country", Value: "USA", Type:String }  
    item : { Key: "state", Value: "CA", Type:String }  
    item : { Key: "city", Value: "San Jose", Type:String }  
    item : { Key: "district", Value: "", Type:String }   
}

Query.ElemMatch("DynamicArray", Query.And(Query.EQ("Key", "country"), Query.EQ("Value", "USA")));

Query.Near ??

它是与地理空间搜索兼容的模式键值吗?和性能?如何以Query.Near这种模式方式使用官方驱动程序a(C#官方驱动程序)进行查询?

谢谢。

4

1 回答 1

2

为了在 MongoDB 上使用地理空间查询,您需要将 x,y 坐标存储为对象中的前两个值。有效模式的示例是:

{ loc: [20,30] } 
{ loc: { x: 20, y: 30 }}
{ loc: { foo: 20, y: 30}}
{ loc: { lat : 40.739037, long: 73.992964 } }

您不能像在上面的示例中那样将坐标分成多个对象。

更多信息:http ://www.mongodb.org/display/DOCS/Geospatial+Indexing

于 2011-02-26T14:52:49.957 回答