MongoDb--套娃关系 文档、集合、数据库

文档(小套娃)

文档对象:

{"greeting":"Hello world","foo":3} {"foo":"3","greeting":"hello world"}

MongoDB里的文档通常会更加的复杂,不过,这里有必要注意几点:

  • 文档中的键/值对是有序的,所以上下两个文档是不同的 文档的键是字符串,而值不仅可以使字符串,也可以是其他几种类型的值
  • 文档的值不仅可以使字符串,也可以是其他几种类型的值
  • 文档的键:
    • 不能有\0(因为它表示结尾)
    • .和$在特定环境下使用,因为它们是保留字
    • 以“_”为开头的键是保留的
  • MongoDB不但区分类型,还区分大小写。两个foo的值是不同的,一个数字,一个字符串,两个greeting的键也是不同的(H和h)

####小心#### MongoDB文档不能有重复的键!

集合(中套娃)

  • 把各种文档都存放在一个集合里,太乱!
  • 因为乱,所以你一旦需要查询某键的时候,就会太慢!
  • 将同类的文档放在一个集合里,逻辑上更合理
  • 索引是按照集合来创建的,将同类的东西放入文档可以提高索引的效率

####举例#### 超市里都是把同类的商品放在一起贩卖;数学上也有名为“合并同类项”的方法。 ####总结#### 集合是为了更有逻辑的分类不同类型的文档,使得MongoDB的效率提高。

子集合

通过用"."来按命名空间划分子集合。如: blog有两个集合posts和authors,可以这样:blog.posts,blog.authors

命名

  • 不能是空字符串""
  • 不能含有\0,(表示结尾)
  • 不能以system开头
  • 不能有保留字$

数据库(大套娃)

命名 ** 不能是空字符串""

  • 不能含有\0 . \ / $ ''(空格)
  • 全部应该小写。 因为数据库名最终会变成文件系统里的文件,所以会有这么多限制... ####注意#### 有一些数据库名是保留的,如:admin、local、config

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值