之前对Redis有过使用,了解的还算比较清楚。redis的优势在于其处理数据的速度非常快,所以常常用作去耦合的中间件。
而MongoDB对于Json形式的数据处理有着非常大的优势(在Mongo中叫做Bson)
下面学习一下MongoDB的基本概念和操作。
1. 安装和连接:
安装不用说了,去官网下载到安装包然后安装,之后有一点需要注意的是,在安装目录下,有一个mongod.exe和mongo.exe,前者是服务端,后者是客户端(shell端),首先要在C盘目录下创建 data/db/ 文件夹路径(因为相关数据表就要存在这个目录下。我在想这样的话,是不是做数据迁移时候直接把这个文件夹拷贝就可以了)
之后命令行中运行mongod,然后在另外一个命令行中启动mongo,即连接上了服务器(注意这里是默认端口,可以选参输入)。
可以下载一个可视化工具Robomongo,很好用,套路跟RDM一样的。
2. DB
db
显示当前工作的database。
show dbs
显示所有db
use [db_name]
切换到某个db,也是创建db的命令
db.dropDatabase([bd_name])
删除某个db
3. Collection \ Table (理解为表单)
db.createCollection([table_name])
创建表单
db.[table_name].drop()
删除表单
show tables
显示所有表单
db.[t_n].find() 后面还可以.pretty() 还可以sort("[key]") 默认升序,可以加参
显示表单内容
4. document
理解为一个json结构的数据文档。所以对于Mongo来说,一个表单里面存的就是一个很大的J'son结构的数据。
db.[table_name].insert([document_name])
插入
db.[table_name].save([document_name])
存入
db.[table_name].update( {[1]},{ $set{[2]} } ,{multi:true})
更新,把2中的内容更新成为[1]中的,第三个参数是所有document都更新
p.s. 上面介绍的方法都是mongodb内部支持的方法。
如果使用python来访问mongo server,首先需要 pip pymongo包。
之后在代码中使用的时候,有一个deprecate的问题会报warning,需要更改一下方法,具体见下图。
具体问题去阅读一下官方的pymongo文档就明白了,基本处理思路是一样的,不过就是方法名有点改变。