温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Python中怎么连接访问MongoDB

发布时间:2021-07-19 11:28:37 来源:亿速云 阅读:220 作者:Leah 栏目:关系型数据库

这期内容当中小编将会给大家带来有关Python中怎么连接访问MongoDB,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

 

1、从Mongo Shell到应用程序访问接口

Mongo Shell是MongoDB官方提供的数据库访问接口程序,类似于Oracle的sqlplus和Mysql的mysql程序。应该说,Mongo shell对于MongoDB的连接、访问和功能操作是最好的。所有与MongoDB相关的管理、开发和数据访问职能,都可以通过Mongo Shell进行实现。

另一类就是应用程序访问接口,也可以理解为编程语言接口。同其他所有数据库相同,针对每个开发语言,MongoDB都有专门的访问驱动Driver程序(或者称为Module)进行支持。但是,由于不同语言在语法、语义和程序组织方式上的差异,使用程序访问接口的时候,和标准Mongo Shell是有一些差别。这就是为什么在MongoDB官方文档中,对于每个操作都提供多种程序语言版本的原因。

目前,MongoDB提供的语言驱动,包括Mongo Shell(原生也需要支持包)、Python、Java、Node.js、PHP、C#、Perl、Ruby和Scala。本篇主要介绍Python的访问方式,记录下来,留待需要的朋友待查。

2Python驱动安装

Python是目前比较流行的程序设计语言,特别是在人工智能AI和大数据分析处理上,市场空间是比较大的。MongoDB是比较流行的NOSQL数据库解决方案,两者结合的场景非常多。

对于Python而言,组织程序是以Module的方式进行。要在本地进行开发,需要本地在Python标准库基础上,添加对于MongoDB的支持。目前,比较常用的Mongodb包为pymongo。

如果是Windows环境下,如果已经安装好Python开发环境JDK,只需要调用esay_install程序就可以自动完成下载。

C:\Users\admin>easy_install pymongo

Searching for pymongo

Reading https://pypi.python.org/simple/pymongo/

Best match: pymongo 3.4.0

Downloading https://pypi.python.org/packages/e7/7c/6c6fa7f0c416e227445979403f14c

4fcfc5960f7c220e8ad0370197fe87a/pymongo-3.4.0-py3.5-win-amd64.egg#md5=0fa1f3d995

42f032fc8940d8d53d7559

Processing pymongo-3.4.0-py3.5-win-amd64.egg

creating c:\program files\python35\lib\site-packages\pymongo-3.4.0-py3.5-win-amd

64.egg

Extracting pymongo-3.4.0-py3.5-win-amd64.egg to c:\program files\python35\lib\si

te-packages

Adding pymongo 3.4.0 to easy-install.pth file

Installed c:\program files\python35\lib\site-packages\pymongo-3.4.0-py3.5-win-am

d64.egg

Processing dependencies for pymongo

Finished processing dependencies for pymongo

在国内下载时间可能比较长,而且经常会有Timeout的情况出现。多测试几次,或者直接到Python官网上下载安装包就能解决。下载之后的pymongo包,被自动放在标准Python库里面。注意:这个时候即使是使用Eclipse插件进行开发,也会自动的感应到最新的库变化,即时生效。

3、简单开发实例

下面进行一个简单地实例。当前目标数据库test上,包括pyinsert这个集合collection。

> show collections

blog

pyinsert

xl

> db.pyinsert.find().count();

0

下面是插入的python记录脚本

from pymongo import MongoClient –导入包模块

from bson.objectid import ObjectId

connect = MongoClient('172.16.19.143',27017)

db = connect.test –对应数据库

operList = [{"name":"Ttest", "age":10},{"name":"Mark", "age":12},

            {"name":"Lucy", "age":10},{"name":"Tom", "age":32}]

res = db.pyinsert.insert_many(operList)  --批量插入

print(res)

注意:每个语言落实MongoDB语法的时候,有一些差别,具体需要参考官方解释。上面的实例中,介绍了连接语句、组织Document Array和批量插入。插入后,结果如下:

> db.pyinsert.find();

{ "_id" : ObjectId("5972d32dc3e2cc1d108511b7"), "age" : 10, "name" : "Ttest" }

{ "_id" : ObjectId("5972d32dc3e2cc1d108511b8"), "age" : 12, "name" : "Mark" }

{ "_id" : ObjectId("5972d32dc3e2cc1d108511b9"), "age" : 10, "name" : "Lucy" }

{ "_id" : ObjectId("5972d32dc3e2cc1d108511ba"), "age" : 32, "name" : "Tom" }

检索数据脚本:

from pymongo import MongoClient

from bson.objectid import ObjectId

connect = MongoClient('172.16.19.143',27017)

db = connect.test

for data in db.pyinsert.find():

print(data)

操作结果:

{'_id': ObjectId('5972d32dc3e2cc1d108511b7'), 'name': 'Ttest', 'age': 10}

{'_id': ObjectId('5972d32dc3e2cc1d108511b8'), 'name': 'Mark', 'age': 12}

{'_id': ObjectId('5972d32dc3e2cc1d108511b9'), 'name': 'Lucy', 'age': 10}

{'_id': ObjectId('5972d32dc3e2cc1d108511ba'), 'name': 'Tom', 'age': 32}

上述就是小编为大家分享的Python中怎么连接访问MongoDB了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI