MongoDB 2.4允许使用GeoJSON个对象和我想使用的neat functions and indexes个对象.

它希望GeoJSON对象以如下格式存储:

loc: {
  type: 'Polygon',
  coordinates: [[[-180.0, 10.0], [20.0, 90.0], [180.0, -5.0], [-30.0, -90.0]]]
}

所以在Mongoose中,人们会认为模式的定义如下:

loc: { type: 'string', coordinates: [[['number']]] }

但这带来了两个问题:

  1. 有一个名为"type"的字段会 destruct Mongoose的模式解析

  2. Mongoose不喜欢嵌套array.

克服这个问题的一个方法是简单地使用mongoose.Schema.Types.Mixed,但是我觉得必须有更好的方法!

推荐答案

必须使用Mixed来表示数组的array.在future ,有一个open ticket人支持这一点.

@尼维斯说得对,你必须按照他所说的申报type英镑的财产.

这里有一个要点:https://gist.github.com/aheckmann/5241574

更多 idea 请参见这里的mongoose 测试:https://github.com/LearnBoost/mongoose/blob/master/test/model.querying.test.js#L1931

Mongodb相关问答推荐

MongoDB$unionWith,如何 Select 特定文档

数组相等条件返回的文档多于与相等匹配的文档:MongoDB

MongoDB通过查找具有多个数组的对象进行聚合

使用MongoDB 4将根文档替换为数组

Spring数据MongoDB(聚合)

减法聚合Mongo文档Golang

如何为具有相同名称的嵌套字段创建文本索引

(MongoDB)在同一管道中结合联合和交集

程序可以运行,但我不断收到发送到客户端后无法设置标题,我应该忽略它吗?

使用golang的MongoDB错误无法访问服务器

MongoDB - 文档中多个数组大小的总和

无法让 Mongoose.js 子文档数组填充

使用 MongoDb 处理迁移

MongoDB 2.1 聚合框架总和匹配名称的数组元素

MongoDB:单个数据库处理程序的 >5 个打开连接

在 Nodejs 中配置最大旧空间大小

C# mongodb driver 2.0 - 如何在批量操作中更新插入?

mongoose:按字母顺序排序

如何匹配 MongoDB 聚合框架中的 undefined值?

Mongodb同时在多个字段上聚合(计数)