[TOC]
简介
mongodb 文档数据库,mysql & mongodb 使用比较广泛,其中这篇文章主要介绍一下 mongodb 的小知识
mongodb 将数据存储为文档,数据结构其实就是 kv 组成的,mongodb 文档类似 json,为 bson 格式
mysql 库 <=> mongodb 库
mysql table <=> mongodb collection
mysql 数据行 <=> mongodb document 文档
bson 格式
支持的数据类型
ObjectId
mongodb 中的每个文档中都会有个 \_id 字段,它是主键,类型为 ObjectID 类型 ObjectID 类型长 12 字节,即 \[12]byte 类型,由几个 2-4 字节的链组成。每个链代表并指定文档身份的具体内容。以下的值构成了完整的 12 字节组合
- 一个 4 字节的值,表示自 Unix 纪元以来的秒数
- 一个 3 字节的机器标识符
- 一个 2 字节的进程 ID
- 一个 3字节的计数器,以随机值开始
因此你不需要存储创建事件,你可以通过一些函数获取时间
ObjectId(“5349b4ddd2781d08c09890f4”).getTimestamp()
mongodb 常用的查询语法
查询所有数据
db.collection_name.find()
https://www.cnblogs.com/shenyixin/p/9453742.html
几个 why 值得思考
- mongodb 比 mysql 好在哪?
- mongodb 为什么是 bson 不是 json 因为 bson 元素头部有一个区域用来存储元素长度,当遍历时候,如果想跳过某个文档读取会很容易,因为读取一下头部的长度,计算一下要读到哪个点即可;bson 也比 json 支持更多类型,bson 增加了 byte array 数组