MongoDB的最快上手教程
本教程浅入深出,有详细的参考资料来提高,有简单的入门资料能你快速掌握并使用。
欢迎联系转载,以及补充。
官网介绍:MongoDB是为现代应用程序开发人员和云时代构建的通用、基于文档的分布式数据库。
选取这个数据库的理由:
-
python接口使用方便(丰富的 JSON 文档,支持嵌套对象,最自然、最高效的数据处理方式)
-
数据库搭建方便
-
可视化mongodb compass官方工具
-
因为我没有用过它分布式的特性,因此没办法从分布式的特定(可靠性)来说明
-
拥有图表工具(MongoDB Charts)。据说可以用来创建数据的可视化表示。但没使用过,后续会考虑学习一下。
概念
graph LR
Database --> Collection --> Documents
说明:把一条数据(json)看作是一个文档,Collection就是表的概念
常规语法
使用的版本:MongoDB 4.4.6 Community
连接数据库
- 创建客户端
$ ./mongo
- 登录数据库,默认端口27017
> mongodb://admin:123456@localhost/
创建(当数据库不存在)或者切换数据库
>use test
查询文档
>db.collection.find({'uid':1234})
同理,
>db.collection.insert()
>db.collection.insertOne()
参考:菜鸟教程
python接口
例子
from pymongo import MongoClient
if __name__ == "__main__":
DATABASE = MongoClient('mongodb://localhost:27017/') # 客户端连接mongodb服务器
mydb = DATABASE['bilibili-data'] # 切换使用或者创建数据库实例
col = mydb['users'] # 切换使用或者创建表
# 插入
msg = {'code': 0, 'msg': 'success'}
msgs = [{'code': 0, 'msg': 'success'}, {'code': 1, 'msg': 'error'}]
col.insert_one(msg)
col.insert_many(msgs)
# 查询
res = col.find_one({'code': 1})
res = col.find({'code': 1})
# 删除
col.delete_one({'code': 1})
详情教程:W3Schools
其他参考:PyMongo 3.11.4 documentation
安装及注意事项
-
安装官方教程,推荐安装方式:Install MongoDB Community on Ubuntu using .tgz Tarball,手动下载安装压缩包
-
解压之后,可以进入到bin目录,启动数据库服务命令如下:
$ mongod --dbpath /datapath --logpath /logpath/mongod.log --bind_ip 127.0.0.1 --fork
参数说明:--dbpath 数据存储位置 --logpath 日志存储位置 --bind_ip 127.0.0.1 表示只能本地连接,更多参数说明参考官网。
-
PyMongo接口使用的fork安全问题?[Is PyMongo fork-safe?]
答:PyMongo is not fork-safe. 不得将 MongoClient 的实例从父进程复制到子进程。相反,父进程和每个子进程必须创建自己的 MongoClient 实例。否则,容易发生死锁。
每天进步一点点!
©版权声明
文章版权归作者所有,未经允许请勿转载。