由于最近在学习python爬虫,之前会将数据存储在mySQL中,但是在网上看见的一些教程、文章都是基于mongodb做的存储对象,所以快速的入门下mongodb!
mongodb基本概念
- mongodb将数据存储为一个文档,数据结构由键值对组成
- mongodb文档类属于Json对象,字段值可以包含其他文档、数组、文档数组
使用mongodb
数据库的操作
3
3
1
show dbs # 查看所有数据库
2
use 数据库名称 # 切换数据库
3
db.dropDatabase() # 删除数据库
集合的操作
3
3
1
db.createCollection(name, options) # 创建集合
2
show collectons # 查看集合
3
db.集合名称.drop() # 删除集合
数据的操作
数据类型
String | 字符串。存储数据常用的数据类型。在 MongoDB 中,UTF-8 编码的字符串才是合法的。 |
Integer | 整型数值。用于存储数值。根据你所采用的服务器,可分为 32 位或 64 位。 |
Boolean | 布尔值。用于存储布尔值(真/假)。 |
Double | 双精度浮点值。用于存储浮点值。 |
Min/Max keys | 将一个值与 BSON(二进制的 JSON)元素的最低值和最高值相对比。 |
Array | 用于将数组或列表或多个值存储为一个键。 |
Timestamp | 时间戳。记录文档修改或添加的具体时间。 |
Object | 用于内嵌文档。 |
Null | 用于创建空值。 |
Symbol | 符号。该数据类型基本上等同于字符串类型,但不同的是,它一般用于采用特殊符号类型的语言。 |
Date | 日期时间。用 UNIX 时间格式来存储当前日期或时间。你可以指定自己的日期时间:创建 Date 对象,传入年月日信息。 |
Object ID | 对象 ID。用于创建文档的 ID。 |
Binary Data | 二进制数据。用于存储二进制数据。 |
Code | 代码类型。用于在文档中存储 JavaScript 代码。 |
Regular expression | 正则表达式类型。用于存储正则表达式。 |
ObjectId
ObjectId 类似唯一主键,可以很快的去生成和排序,包含 12 bytes,含义是:
- 前 4 个字节表示创建 unix 时间戳,格林尼治时间 UTC 时间,比北京时间晚了 8 个小时
- 接下来的 3 个字节是机器标识码
- 紧接的两个字节由进程 id 组成 PID
- 最后三个字节是随机数
MongoDB 中存储的文档必须有一个 _id 键。这个键的值可以是任何类型的,默认是个 ObjectId 对象
由于 ObjectId 中保存了创建的时间戳,所以你不需要为你的文档保存时间戳字段,你可以通过 getTimestamp 函数来获取文档的创建时间:
>var newObject =ObjectId()> newObject.getTimestamp()ISODate("2017-11-25T07:21:10Z")
ObjectId 转为字符串
> newObject.str 5a1919e63df83ce79df8b38f
插入
1
1
db.集合名称.insert(documnet)
2
3
eg:
4
db.stu.insert({name: "pontoon", gender: "men"}) # 连集合带数据一起创建了
查看
1
1
db.集合名称.find()
更新
x
1
db.集合名称.update(
2
{要修改的数据},
3
{改成什么},
4
{multi:true/false} # 修改多行时要加入
5
)
6
7
db.stu.update({}, {$set: {name: 'pontoontan'}}) # 修改一行数据,且不损坏本身的数据结构
8
删除
1
1
db.集合名称.remove({name: 'pontoontan'}, {justOne: true})
2
3
db.stu.remove({}) # 全部删除
ok,今天先到这里