MongoDB 是目前最流行的 NoSQL database之一,使用的数据类型 BSON(类似 JSON)。
MongoDB databaseinstall 与介绍可以查看咱们的 MongoDB 教程。
PyMongo
Python 要连接 MongoDB 需要 MongoDB 驱动,这里咱们使用 PyMongo 驱动来连接。
pip install
pip 是一个通用的 Python 包管理tool ,提供了对 Python 包的查找、download 、install 、卸载的功能。
install pymongo:
$ python3 -m pip3 install pymongo
也可以指定install 的版本:
$ python3 -m pip3 install pymongo==3.5.1
更新 pymongo 命令:
$ python3 -m pip3 install --upgrade pymongo
easy_install install
旧版的 Python 可以使用 easy_install 来install ,easy_install 也是 Python 包管理tool 。
$ python -m easy_install pymongo
更新 pymongo 命令:
$ python -m easy_install -U pymongo
测试 PyMongo
接下来咱们可以创建一个测试文件 demo_test_mongodb.py,代码如下:
demo_test_mongodb.py 文件代码:
#!/usr/bin/python3
import pymongo
执行以上代码文件,如果没有出现错误,表示install 成功。
创建database
创建一个database
创建database需要使用 MongoClient 对象,并且指定连接的 URL 地址和要创建的database name。
如下实例中,咱们创建的database phlcsdn2023db :
实例
#!/usr/bin/python3
import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["phlcsdn2023db "]
注意: 在 MongoDB 中,database只有在内容插入后才会创建! 就是说,database创建后要创建集合(数据表)并插入一个文档(记录),database才会真正创建。
判断database是否已存在
咱们可以读取 MongoDB 中的所有database,并判断指定的database是否存在:
实例
#!/usr/bin/python3
import pymongo
myclient = pymongo.MongoClient('mongodb://localhost:27017/')
dblist = myclient.list_database_names()
# dblist = myclient.database_names()
if "phlcsdn2023db " in dblist:
print("database已存在!")
**注意:**database_names 在最新版本的 Python 中已废弃,Python3.7+ 之后的版本改为了 list_database_names()。
创建集合
MongoDB 中的集合类似 SQL 的表。
创建一个集合
MongoDB 使用database对象来创建集合,实例如下:
实例
#!/usr/bin/python3
import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["phlcsdn2023db "]
mycol = mydb["sites"]
注意: 在 MongoDB 中,集合只有在内容插入后才会创建! 就是说,创建集合(数据表)后要再插入一个文档(记录),集合才会真正创建。
判断集合是否已存在
咱们可以读取 MongoDB database中的所有集合,并判断指定的集合是否存在:
实例
#!/usr/bin/python3
import pymongo
myclient = pymongo.MongoClient('mongodb://localhost:27017/')
mydb = myclient['phlcsdn2023db ']
collist = mydb. list_collection_names()
# collist = mydb.collection_names()
if "sites" in collist: # 判断 sites 集合是否存在
print("集合已存在!")
**注意:**collection_names 在最新版本的 Python 中已废弃,Python3.7+ 之后的版本改为了 list_collection_names()。
本专栏所有文章
寄语
本文有 phlcsdn2023 原创,欢迎点赞、转载,博客地址:https://blog.csdn.net/phlcsdn2023
- 读书好,好读书、读好书,做一个有情趣的读书人。
- 布金敦正是人们所期望的勇士吧。的努力不会白费的,他不屈不挠的搏斗会有回报的。勇敢起来吧,像布金敦那样振奋精神,勇往直前。
- 求做到:暖春,炎夏,清秋,寒冬,四季季季悬梁锥刺股
- 这辈子,最让我觉得幸福的,就是看着自己的闺蜜,一个个的幸福。闺蜜就是只要我一个眼神就能了解我的全部。
- 一个人的老练,并不表如今获得了多少成就上,而是面临那些讨厌的人和事,不投合也不冲突,只漠然一笑对之。当心里能够包容很多自个不喜欢的事物时,这就叫气场。