六:文档 Document 插入姿势

一灰灰blogDBMongoMongoDb约 617 字大约 2 分钟

文档相当于关系数据库中数据行,也是我们最关心的数据本身;以BSON格式存储(和json区别不大)

我们通常所说业务开发者的CURD四大技能,在mongodb中,就是针对Document而言,接下来我们先看一下文档的新增使用姿势

1. 基本语法

插入语法: db.collection.insert()

因为集合不要求定义数据结构,所以插入的文档格式理论上可以完全不一样,可以拥有完全不同的数据结构,相同的字段拥有不同的数据类型

2. 实例演示

下面给出几个实例进行说明

基本数据类型插入

# 插入两个数据,注意age的数据类型不一样哦
db.doc_demo.insert({'name': 'yihui', 'age': 18})
db.doc_demo.insert({'address': 'China', 'age': 18.8})

数组类型插入

db.doc_demo.insert({'name': 'yihui', 'skill': ['java', 'python', 'php', 'js']})

Object类型插入

db.doc_demo.insert({'name': 'yihui', 'site': {'blog':'https://blog.hhui.top', 'spring': 'https://spring.hhui.top'}})

3. 数据类型

mongodb支持的基本数据类型,除了我们常见的string,int,float,boolean之外,还有一些其他的;

数据类型说明
String字符串, UTF8编码
Integer整型,32/64位
Boolean布尔
Double浮点
Min/Max keys将一个值与 BSON(二进制的 JSON)元素的最低值和最高值相对比
Array数组
Timestamp时间戳,记录文档修改或添加的具体时间
Object内嵌文档
Null创建空值
Symbol符号。该数据类型基本上等同于字符串类型,但不同的是,它一般用于采用特殊符号类型的语言。
Date日期,用 UNIX 时间格式来存储当前日期或时间。你可以指定自己的日期时间:创建 Date 对象,传入年月日信息。
ObjectID对象ID
Binary Data二进制
code代码类型。用于在文档中存储 JavaScript 代码。
Regular expression正则表达式类型。用于存储正则表达式。

ObjectId 类似唯一主键,可以很快的去生成和排序,包含 12 bytes,含义是:

  • 前 4 个字节表示创建 unix 时间戳,格林尼治时间 UTC 时间,比北京时间晚了 8 个小时
  • 接下来的 3 个字节是机器标识码
  • 紧接的两个字节由进程 id 组成 PID
  • 最后三个字节是随机数
Loading...