我是一名java程序员,我想在我的项目中使用MongoDB。我知道MongoDB是一个文档数据库,但有没有办法为这个数据库中的记录存储更多字段?
例如,我有一个包含4个属性(即列)名称地址年龄和dob的表,那么我可以使用或转换此结构以适应MongoDB吗?
答案 0 :(得分:7)
当然。
MongoDB是一个基于文档的数据库管理系统。如果您熟悉JSON
格式,Mongo会以非常类似的方式存储数据。例如,Mongo数据库中的示例文档可能如下所示:
Person {
Name:
{
First : "John"
Last : "Smith"
}
Address :
{
City : "Chicago"
State : "Illinois"
Street : "30 S. Michigan Avenue"
}
}
如您所见,Mongo支持嵌套字段,因此特定字段可以包含一个或多个属性。它本身不是键/值,因为可以无限制地嵌套文档。但请注意,并非集合中的所有文档都必须具有相同的结构。这是Mongo最强大的力量,但是如果你不小心的话,它会转过来咬你。
答案 1 :(得分:3)
只需添加前两张海报的正确答案(+1)......
“关系数据库结构”与存储其他属性之间存在差异。关系意味着您正在建模数据库中的事物之间的关系,例如客户和每个客户的订单。
MongoDB允许您存储具有许多属性的文档。它没有为管理文档之间的关系提供太多支持。
答案 2 :(得分:1)
实际上,MongoDB不是传统的键/值数据库,而是文档数据库。文档是JSON对象,可以包含任意数量的字段,甚至是嵌套文档。所以,是的,您可以轻松地为每条记录存储多个字段。