zoukankan      html  css  js  c++  java
  • MongoDB 基础知识 一

    1. 文档(Document)

    a.文档是MongoDB的核心概念,多个键及其关联的值有序地放置在一起便是文档  ps:多个键值对便是文档

    例如,在javascript,文档表示为对象:{"name" : "Elvin","age" : 22} --文档1

    {"age" : 22,"name" : "Elvin"} --文档2

    b.文档的键/值对是有序的,文档1和文档2是完全不同的。

    c.文档里面的键是字符串。除了少数例外情况,键可以使用任意UTF-8字符

    • 键不能含有(空字符)。 ps:这个字符用来表示键的结尾
    • .和$有特别的意义,只能在特定环境下才能使用,通常是被保留的,使用不当的话驱动程序会提示
    • 以下划线"_"开头的键是被保留的

    d.文档的值不仅可以是双引号里面的字符串,还可以是其他几种数据类型 ps:甚至可以嵌入整个文档

    e.MongoDB不但区分类型,还区分大小写。例如,下面的文档是不同的

    {"foo" : 3} 和{"foo" : "3"}

    {"Foo" : 3} 和{"foo" : 3}

    还有一个特别需要注意的事项就是:

    MongoDB不能有重复的键

    2.集合

    集合就是一组文档。如果MongoDB中的文档类似于关系型数据库的行 那么集合就如同表。

    a.无模式

     集合是无模式的。这意味着一个集合里的文档可以是各式各样的。例如,下面俩个文档可以存在一个集合里面:

    {"name"} : "Elvin"}   

    {"age" : 22

    b.集合的命名

    • 集合不能是空字符串“”
    • 集合名不能含有(空字符),这个字符表示集合名的结尾
    • 集合名不能以“system.”开头,这是系统集合保留的前缀,如system.users ,system.namespances
    • 用户创建的集合名字不能含有保留字符$,除非要访问系统创建的集合,否则千万不要在名字里出现$.

    c.子集合

     组织集合的一种惯例是使用“.”字符分开的按命名空间划分的子集合。例如 一个博客功能的应用可能包含两个集合

    分别是blog.posts和blog.authors,这样做的目的是使组织结构更好些。

    3.数据库

    MongoDB中多个文档组成集合,同样 多个集合可以组成数据库。

    和集合一样,数据库也通过名字来标示,数据库名可以是满足一下条件的任意UTF-8字符

    • 不能是空字符串“”
    • 不得含有空格,点,$,/,和空字符()
    • 应全部小写
    • 最多64字节

    要记住一点,数据库名最终会变成文件系统里面的文件,这也是诸多限制的原因。

    有一些数据库是保留的,可以直接访问

      • admin  从权限的角度看 这是“root"数据库,要是将一个用户加入到这个数据库,这个用户自动继承所有数据库的权限。一些特定的服务器端命令也只能从这个数据库运行,例如:列出所有的数据库或者关闭服务器
      • local
      • config

    把数据库名字放到集合名前面,得到的就是完全限定名,成为命名空间。命名空间的名字不得超过121字节,一般应小于100字节。

  • 相关阅读:
    Visual Studio 2010单元测试(2)--运行测试并查看代码覆盖率
    实用设计模式之观察者模式
    并查集简单题pku1611
    HDU 4534 郑厂长系列故事——新闻净化(AC自动机+DP)
    求 小于 n 的 质数 几种方式
    MySQL数据库高并发优化配置
    MySQL 对于千万级的大表要怎么优化?
    mysql数据库优化总结
    php 正则表达式怎么匹配标签里面的style?
    MySql数据库优化可以从哪几个方面进行?
  • 原文地址:https://www.cnblogs.com/ElvinLong/p/3613813.html
Copyright © 2011-2022 走看看