我正在学习MongoDb,下面是我的要求,我想写一个文档。需要你的帮助。MongoDB文档
要求:下面我有我的关系DB tabels,现在我想将其转换为文件:
- 经理(ID,姓名)
- 技术负责人(ID,姓名,经理标识)的manager_id是fk。
- 开发负责人(id,name,tech_lead_id)tech_lead_id是fk。
如何在文档中进行转换。
谢谢, Sudheer。
我正在学习MongoDb,下面是我的要求,我想写一个文档。需要你的帮助。MongoDB文档
要求:下面我有我的关系DB tabels,现在我想将其转换为文件:
如何在文档中进行转换。
谢谢, Sudheer。
尝试使用mongoexport命令。 以下是此命令的官方文档: mongoexport
此命令支持导出为CSV和JSON。您可以将您的结果转换为其中一种,并使用其他语言(我个人使用Python)将其转换为其他格式。
供您参考:
CSV:
mongoexport --db关系--collection经理--fields ID,名称--type = CSV --out manager.csv
JSON:
mongoexport --db关系--collection经理--fields ID,名称--out manager.json
从你的问题,我明白你想要得到一个基于它在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中的架构设计,因素,如基数(一到多,一到数等)和数据访问模式(频繁执行的查询/更新)必须在选择是要引用还是非规范化并放置数据时加以考虑。没有一个正确的做法,都有他们的优点&缺点。但是,您可以选择一种最适合您应用需求的设计。
下面从蒙戈的帖子给出了例子真的很好的解释:http://blog.mongodb.org/post/87200945828/6-rules-of-thumb-for-mongodb-schema-design-part-1
如果我用这个,而无需使用mongoexport创建一个新的文件,我能做到的,我如果是如何引用一个唯一的ID另一个表。 – Sudheer
如果你不想使用mongoexport命令,你可以尝试用你自己的编程语言来做。我使用Python与PyMongo,我知道C#也有一个库,你也可以尝试。这些库充当客户端来查询数据库并获得您想要的结果。然后,您可以随意导出结果。 – DrKNa