课程表

Python3 基础教程

Python3 高级教程

工具箱
速查手册

Python3 MongoDB

当前位置:免费教程 » 程序设计 » Python3

MongoDB 是目前最流行的 NoSQL 数据库之一,使用的数据类型 BSON(类似 JSON)。

MongoDB 数据库安装与介绍可以查看我们的 MongoDB 教程。


PyMongo

Python 要连接 MongoDB 需要 MongoDB 驱动,这里我们使用 PyMongo 驱动来连接。

pip 安装

pip 是一个通用的 Python 包管理工具,提供了对 Python 包的查找、下载、安装、卸载的功能。

安装 pymongo:

  1. $ python3 -m pip3 install pymongo

也可以指定安装的版本:

  1. $ python3 -m pip3 install pymongo==3.5.1

更新 pymongo 命令:

  1. $ python3 -m pip3 install --upgrade pymongo

easy_install 安装

旧版的 Python 可以使用 easy_install 来安装,easy_install 也是 Python 包管理工具。

  1. $ python -m easy_install pymongo

更新 pymongo 命令:

  1. $ python -m easy_install -U pymongo

测试 PyMongo

接下来我们可以创建一个测试文件 demo_test_mongodb.py,代码如下:

demo_test_mongodb.py 文件代码:

  1. #!/usr/bin/python3
  2. import pymongo

执行以上代码文件,如果没有出现错误,表示安装成功。


创建数据库

创建一个数据库

创建数据库需要使用 MongoClient 对象,并且指定连接的 URL 地址和要创建的数据库名。

如下实例中,我们创建的数据库 w3xuedb :

  1. #!/usr/bin/python3
  2.  
  3. import pymongo
  4.  
  5. myclient = pymongo.MongoClient("mongodb://localhost:27017/")
  6. mydb = myclient["w3xuedb"]

注意: 在 MongoDB 中,数据库只有在内容插入后才会创建! 就是说,数据库创建后要创建集合(数据表)并插入一个文档(记录),数据库才会真正创建。

判断数据库是否已存在

我们可以读取 MongoDB 中的所有数据库,并判断指定的数据库是否存在:

  1. #!/usr/bin/python3
  2.  
  3. import pymongo
  4.  
  5. myclient = pymongo.MongoClient('mongodb://localhost:27017/')
  6.  
  7. dblist = myclient.list_database_names()
  8. # dblist = myclient.database_names() 
  9. if "w3xuedb" in dblist:
  10.   print("数据库已存在!")

注意:database_names 在最新版本的 Python 中已废弃,Python3.7+ 之后的版本改为了 list_database_names()。


创建集合

MongoDB 中的集合类似 SQL 的表。

创建一个集合

MongoDB 使用数据库对象来创建集合,实例如下:

  1. #!/usr/bin/python3
  2.  
  3. import pymongo
  4.  
  5. myclient = pymongo.MongoClient("mongodb://localhost:27017/")
  6. mydb = myclient["w3xuedb"]
  7.  
  8. mycol = mydb["sites"]

注意: 在 MongoDB 中,集合只有在内容插入后才会创建! 就是说,创建集合(数据表)后要再插入一个文档(记录),集合才会真正创建。

判断集合是否已存在

我们可以读取 MongoDB 数据库中的所有集合,并判断指定的集合是否存在:

  1. #!/usr/bin/python3
  2.  
  3. import pymongo
  4.  
  5. myclient = pymongo.MongoClient('mongodb://localhost:27017/')
  6.  
  7. mydb = myclient['w3xuedb']
  8.  
  9. collist = mydb. list_collection_names()
  10. # collist = mydb.collection_names()
  11. if "sites" in collist:   # 判断 sites 集合是否存在
  12.   print("集合已存在!")

注意:collection_names 在最新版本的 Python 中已废弃,Python3.7+ 之后的版本改为了 list_collection_names()。

增、删、改、查等操作

下表列出了 MongoDB 的更多操作,详情可点击具体链接:

序号功能
1添加数据
2查询数据
3修改数据
4数据排序
5删除数据
转载本站内容时,请务必注明来自W3xue,违者必究。
 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号