mongodb中数据的组织形式 --》 文档
mongodb文档 :以键值对形式组成的类似字典的数据描 述形式
键: 即文档的域
键的命名规则:
1. utf-8字符串
2. 不含有'\0' 通常不用 . $
3. 一个文档中的键不能重复
* 文档中的键值对是有序的
* mongodb中数据严格区分大小写
值: 即文档存储的数据 支持bson数据
java script ---》 json ---》bson
类型 值
整型 整数
布尔类型 true false
浮点型 小数
Array 数组
Timestamp 时间戳
Date 时间日期
Object 内部文档
Null 空值 null
String 字符串
Symbol 特殊字符串
Binary data 二进制字串
code 代码
regex 正则表达式
ObjectId ObjectId字串
ObjectId
"_id" : ObjectId("5b503b7f38d0e992e1270560")
_id : 当在mongo代表中插入文档时,如果不指定_id则会自动添加这个域,作为主键。
ObjectId() 值是系统自动生成的不重复字串标识
24位 8位 文档创建时间
6位 机器ID
4位 进程ID
6位 计数器
集合中的文档:
1. 集合中的文档不一定有相同的域
2. 集合中的文档多少不一定相同
3. 集合中的文档,值的类型不一定相同
集合设计
1. 集合中的文档尽可能描述同一类数据
2. 同一类数据不要过多分散在多个集合中存放
3. 集合中文档的结构层次不宜过多
插入文档
db.collectionName.insert()
插入单个文档
e.g.
db.class0.insert({name:"HanMei",age:17,sex:'w'})
* 插入数据时域名可以不加引号
* 查看插入结果 db.class.find()
* _id 为系统自动添加主键,如果自己写_id则为自己设 定的值,但是仍然不可重复
* 一个集合中的文档是有序的
插入多个文档
db.collectionName.insert([{},{},{}])
e.g.
db.class2.insert([{name:'阿宝',age:32},{name:'阿哲',age:31},{name:'阿蓉',age:26}])
save() 插入文档
db.collectionName.save()
e.g. db.class1.save({name:'Lily',age:13,sex:'w'})
* 如果不加_id域时用法同insert()
* 如果加_id,此_id值存在则save表示修改该文档。