2012-12-05 77 views
0

的数组,我需要有这样的事情Mongoose.js - 地理空间位置

{ 
    event : "something", 
    location : [ 
     { 
      long:25, lat:34 
     }. 
     } 
      long:25, lat:35 
     }. 
     . 
     . 
     . 
    ] 
} 

这可能吗?是否有可能为位置字段提供地理空间索引?我会用$ nearSphere进行查询。

感谢

编辑:猫鼬架构问题

具有模式条目是这样的位置:[{LON:号码,纬度:数}]让我为每个对象的aditional的_id落得在位置数组中。这是一个问题吗? 2.一个新生儿? 3.我可以修复的东西?

例如: { “LON”:1, “LAT”:2, “_id”: “50bfeea2a3092d1d67000007” },

+0

我会用',',而不是'.'的'location'数组元素之间:)。但严重的是,为什么不行,你试过了吗?检查手册中的[地理空间索引](http://www.mongodb.org/display/DOCS/Geospatial+Indexing),它听起来正是我想要的。 – balazs

+0

我已经读过三遍了,刚才我看到了geoNear该死的球形真实部分。如果你愿意,你可以回答这个问题,以便我可以接受它以备将来参考。 – pocorschi

+0

其实我应该用Mongoose中的一个实际问题修正这个问题。请检查编辑。 – pocorschi

回答

2

如果你不希望每个location元素有一个_id字段,您可以通过明确定义_id选项设置为false的元素的架构来禁用该功能。

像这样:

var testSchema = new mongoose.Schema({ 
    event: String, 
    location: [new Schema({long: Number, lat: Number}, {_id: false})] 
}); 
+0

好,非常感谢你。但是...我应该吗?或者我不应该?尽管如此,我不认为我会搜索这些ID。 – pocorschi

+0

@InnocentPixel如果你不打算通过id访问元素,并且你有很多元素,我会禁用它,因为它们每个至少有12个字节。 – JohnnyHK