设为首页 加入收藏

TOP

MongoDB入门下(二)
2014-11-24 03:05:25 来源: 作者: 【 】 浏览:4
Tags:MongoDB 门下
中的两个行.在MongoDB中,可以将地址文档直接嵌入到人员文档中.这样也有坏处,因为MongoDB会存储很多
的重复数据,如果在关系型数据库中"address"在一个独立的表中,要修改地址中的拼写错误.当我们对"address"表
进行修改后,那么每一个使用这个地址的人的信息都会得到更新.但在MongoDB中,则需要在每个人的文档中修改拼写错误
_id和ObjectId
MongoDB中存储的文档必须有一个"_id"键.这个键的值可以是任何类型,默认是ObjectId对象.
在一个集合里面,每个文档都有唯一的"_id"值,来确保集合里面每个文档都能唯一的标识.如果有
两个集合的话,两个集合可以都有一个值为123的"_id"键,但是每个集合里面只能有一个"_id"是123的文档
ObjectId是"_id"的默认类型,ObjectId可以确保分布式数据的唯一性
如果在插入文档的时候没有"_id"键, 系统会自动帮你创建一个.可以由MongoDB服务器来做这件事情, www.2cto.com
但通常会在客户端驱动程序完成,理由如下:
1.虽然ObjectId设计成轻量型的,易于生成的,但毕竟的生成的时候还是会产生开销.在客户端生成体现了
MongoDB的设计理念:能从服务端转移到驱动程序来做的就尽量转移.这种理念的原因是:扩展应用层比
扩展数据库层容易的多,将事务交由客户端处理,就减轻了数据库扩展的负担.
2.在客户端生成ObjectId,驱动程序能够提供更丰富的API.如驱动程序可以有自己的insert方法,可以返回生成
的ObjectId,也可以直接将其插入文档.如果驱动程序允许服务器生成ObjectId,那么将需要单独的查询,以确定
插入的文档中的"_id"值.
作者 refactor
首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇对于安装SQL2008出现的错误:规则.. 下一篇在查询结果中添加自增列的两种方法

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Java 实现多个大文件 (2025-12-24 23:22:00)
·Java多线程编程在工 (2025-12-24 23:21:56)
·请问微信4.0版本xwec (2025-12-24 22:48:42)
·电脑NVIDIA的文件夹 (2025-12-24 22:48:40)
·如何看待微信新版本 (2025-12-24 22:48:37)