MongoDB文档

时间:2015-07-11 19:19:51

标签: mongodb mongodb-query

我正在学习MongoDb,下面是我的要求,我想写一份文件。需要你的帮助。

要求:我的关系Db中有以下表格,现在我想将其转换为文档:

  1. 经理(身份证,姓名)
  2. 技术主管(id,name,manager_id)manager_id是fk。
  3. 开发主管(id,name,tech_lead_id)tech_lead_id是fk。
  4. 如何在文档中转换它。

    谢谢, Sudheer。

2 个答案:

答案 0 :(得分:1)

尝试使用mongoexport命令。 以下是此命令的官方文档: mongoexport

此命令支持导出为CSV和JSON。您可以将结果转换为其中一种,并使用其他语言转换为其他格式(我个人使用Python)。

供您参考:

CSV:

mongoexport --db relation --collection manager --fields id,name --type = csv --out manager.csv

JSON:

mongoexport --db relation --collection manager --fields id,name --out manager.json

答案 1 :(得分:1)

根据您的问题,我了解您希望根据RDBMS中的内容获取MongoDB数据库架构。 首先要做的事情; MongoDB中的数据库模式设计不是RDBMS的直接转换。此外,与RDBMS数据库架构设计相比,在MongoDB中设计数据库架构时,您会考虑不同的因素。 话虽如此,我会采取一种方式来提供它:

经理:

{ _id : ObjectId("AAA"), name : "julie"}

技术主管:

{ _id : ObjectId("BBB"), name : "jack", manager : "julie"}

发展负责人:

{ _id : ObjectId("CCC"), name : "john", techLead : "jack"}

正如您在上面所看到的那样,我已经使用' manager'的名称预先加入了数据。 &安培; ' techLead'并且没有使用ObjectId。但是,它也可能与下面的_id一样:

技术主管:

{ _id : ObjectId("BBB"), name : "jack", manager : ObjectId("AAA")}

在MongoDB架构设计中,在选择是否要放置基数时,必须考虑基数(一对多,一对少等)和数据访问模式(经常执行的查询/更新)等因素引用或非规范化并放入数据。没有一种正确的方法,所有人都有自己的优点和缺点。利弊。但是,您可以选择一种最适合您应用要求的设计。

以下来自Mongo的帖子给出了很好的解释,例如:http://blog.mongodb.org/post/87200945828/6-rules-of-thumb-for-mongodb-schema-design-part-1