MongoDB基础
1文档是mongodb的核心概念,就是键值对的一个有序的集合,{"greeting":"hello word!"}
键是字符串可以使用任意UTF-8\字符 不能是\0(空字符) .和$具有特色意义,只能在特定情况下使用
Mongodb不但区分类型 而且区分大小写 {"foo":"2"} {"foo":2} 这两个就是不同的 {"foo":"3"}{"Foo":"3"} 也是不同的
文档中键值对 是有序的,顺序不对 也代表不同的意义,
2集合 就是一组文档 相当于一张表 集合是动态模式,这意味着一个集合里面的文档可以是各式各样的,
命名:
- 不能有空字符串
- 不能包含\0 (空字符)
- 不能以system.开头
- 用户创建的集合不能再集合名中包含保留字符'$'
3数据库 多个文档组成集合,多个集合可以组成数据库
命名:
- 不能有空字符串
- 不能含有 / \ . * < > : | ? $ \0 基本只能使用ASCII中的字母和数字
- 区分大小写 为了方便 全部小写
- 最多64个字节
- 另外有一些数据库名是保留的 admin 这是root数据库 拥有最高权限 将用户添加到这里,这个用户就自动获得所有数据库的权限 有一些服务器端的命令也只能从这里运行 local 这个数据库是永远都不可以复制的, config 用于分片设置时 分片的信息会存储在这里
- 有一些数据库名是保留的 如admin local config
数据类型,
基本数据类型
- null 用于表示空值或者不存在的字段 {'x': null}
- 布尔型 {"x": true}
- 数值 默认使用64位浮点型数组字
- 字符串 utf-8字符串
- 日期 自新纪元以来经过的毫秒数,不存储时区
- 正则表达式 js支持的正则表达式语法 可以直接存储正则
- 对象ID 是文档的唯一标识 ObjectId() 12位个字节,用24个十六进制数字组成,
- 二进制数据 任意字节的字符串 如果一些数据不能在shell中直接使用 但是非要utf-8字符保存在数据库中 那么二进制是唯一的方式
- 代码 可以包含任意的js代码
使用shell脚本
直接在命令行传递脚本 mongo 1.js,2.js
在shell 中用load()函数