【问题标题】:Key value schema to store GeoSpatial data?存储地理空间数据的键值模式?
【发布时间】:2016-04-28 14:23:41
【问题描述】:

开发一个桥以使用 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(C#官方驱动)?

谢谢。

【问题讨论】:

    标签: c# mongodb mongodb-.net-driver


    【解决方案1】:

    为了在 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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-31
      • 1970-01-01
      • 2010-12-13
      相关资源
      最近更新 更多