MongoDB简单学习

1. 与传统RMDBS的对比
MongoDB作为一款NOSQL数据库,相比传统的关系型数据库如MySQL的一大特点就是数据模型上的无模式定义,在获取灵活数据模型的同事,又在特定的环境中表现出绝佳的性能。学习MongoDB从数据的结构定义上入手可与MySQL做对比如下:

mysql  ---> mongodb
database --> database
table -->  collections
raw -->  documents  
columns -->  fields  
indexs --> indexs

其中MongoDB中的cursors指查询时返回的一个结果集的指针而非结果,利用该指针可以在结果集的基础上做一些操作如:排序、计数、跨行查找等,无需把真实数据拖下来而是在真实数据上操作。通过 cursor 来操作,读操作会被延迟到需要实际数据的时候才会执行。

在MongoDB中db由collections组成,collections由documents组成并且可被index提高查找和排序的性能,documents由fields组成。

2. 数据操作
a. 查询,利用选择器(一个条件判断的json对象,类似于mysql中的where判断)
find
count
remove

b. 更新
update: $set、 upsert、 multi  

c. cursor:
排序 sort()
计数 count()
分页 skip().limit()

3. 数据建模
no joins:数据表链接(join)意味着无法支持很好的水平扩展
数组和内嵌文档:支持数组作为文档的基本对象,在处理多对一和多对多的情况下非常方便。
比如一个人属于多个部门,则只需要部分字段存储成数组形式即可。
反规格化:解决对性能敏感的问题或是需要做快照的数据
约束:一个独立文档的大小当前被限制在 16MB
集合设计:把内容划分为多个集合还是在一个集合中内嵌多个文档,取决于你想再一次查询中获取什么内容



参考资料:《the-little-mongodb-book》--karlseguin
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值