如何调查mongodb中的文件结构?

时间:2016-07-04 09:15:27

标签: json mongodb discovery

作为mongodb的新手,我很抱歉,如果这是一个微不足道的问题,希望不会。

我在mongodb数据库上生成了一组10个json文件,我想研究它的结构(字段,名称,大小等)。我知道如何在我的mongo系统上将json文件导入db / collection,然后使用dbfind。但是,这适用于您需要事先知道的特定领域,对吧?

在关系型SQL DB中,我只需导入文件,然后浏览字段名称,大小,甚至将其导出为标准文件格式(.CSV等)。

  • 当您对源文件一无所知时,等效的是什么 MongoDB的策略?
  • 是否有一个列出文档中所有字段/元素的命令?
  • 您可以将数据库/集合从mongo导出到其他格式 这对于发现来说更易于管理(例如.csv或SQL数据库)。

提前致谢,p

1 个答案:

答案 0 :(得分:1)

为了列出mongo集合中的所有字段,请使用各种https://github.com/variety/variety

OR

mr = db.runCommand({
  "mapreduce" : "my_collection",
  "map" : function() {
    for (var key in this) { emit(key, null); }
  },
  "reduce" : function(key, stuff) { return null; }, 
  "out": "my_collection" + "_keys"
})

然后在生成的集合上运行distinct,以便找到所有键:

db[mr.result].distinct("_id")
["foo", "bar", "baz", "_id", ...]

MongoDB Get names of all keys in collection

FOR MONGO EXPORT

https://docs.mongodb.com/manual/reference/program/mongoexport/

对于csv格式的mongo导出,您必须提及要从中导出的字段。

mongoexport --db users --collection contacts --type=csv --fields name,address --out /opt/backups/contacts.csv