如何从 mongo 记录中获取缺失的字段

Posted

技术标签:

【中文标题】如何从 mongo 记录中获取缺失的字段【英文标题】:How to get the missing field from a mongo record 【发布时间】:2018-11-29 12:44:14 【问题描述】:

我的记录中有数据:


"test" : "388383",
"geo1" : "[-75.603554,35.888575]",
"zip" : "[27959]"


var det = new Schema(  test: String)

我的记录中有 zip 字段,但是当我控制台它没有出现。

Data.find().exec(function(err,data)
      console.log(data[0].zip)  ------> 'undefined'
      console.log(data[0].geo1) ------> "[-75.603554,35.888575]"

);

我没有在我的模型(两个字段)中声明它,但我得到的是 geo1 而不是 zip。

【问题讨论】:

数据是如何插入到数据库中的? 架构是什么? @Frax,它是一个 c 文件,我刚刚通过 $ mongoimport -d mydb -c things --type csv --file locations.csv --headerline 导入它 不可能...如果这些字段在集合中,那么它们将会出现...无论它们是否在模式中定义...您犯了一些错误或使用了一些投影 我通过填充方法获取它们是一个原因。 【参考方案1】:

已完全定义您的架构。

而不是这个

  var det = new Schema(  test: String)

试试

  var det = new Schema(  test: String,geo1:[Number],zip:[Number]);

因为如果您不让架构定义每个字段,您将无法从数据库集合中获取所有数据。

【讨论】:

以上是关于如何从 mongo 记录中获取缺失的字段的主要内容,如果未能解决你的问题,请参考以下文章

在mongo中如何通过总记录获取表中记录的当前位置进行分页?

Mongo:如果孩子在同一个集合中,如何获取相关记录?

用PHP查询mongo数据时,条件是某个字段(A为数组)不为空,但是有的记录中并没有字段A,这个条件怎么写?

在 Mongo 集合中更新数组中的一条记录

如何从 mongo 数据库中的特定集合中删除重复记录?

用于收集超过 1000 万条记录的 Mongo 查询优化