<span id="be8a28bf93"></span><address id="bf8f7ce84c"><style id="bg7f343db5"></style></address><button id="bl6c4d0d85"></button>
                        

          澳门威尼斯娯乐城vn5002,澳门威尼斯娱乐平台,威尼斯娱城网址

          首页 > 数据库 > NoSQL > 使用简单的Python连接访问MongoDB

          使用简单的Python连接访问MongoDB

          原创 NoSQL 作者:realkid4 时间:2017-07-22 12:36:27 2 删除 编辑

           

           

          继续来聊MongoDB

           

          MongoDB作为了一个数据库产品软件,除了服务器Server端进程(mongod)外,还提供了比较丰富的访问连接接口。我们最常用的就是两个类型,一个是原生mongo shell,另一个就是应用程序语言访问接口。

           

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

           

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

           

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

           

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

           

          2、Python驱动安装

           

          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}

           

           

          4、结论

           

          本篇针对python语言使用MongoDB的接口,进行了简单介绍。更多的语法和使用,建议参考MongoDB官方文档。

           


          来自 “ 澳门威尼斯娯乐城vn5002,澳门威尼斯娱乐平台,威尼斯娱城网址 ” ,链接:/17203031/viewspace-2142425/,如需转载,请注明出处,否则将追究法律责任。

          下一篇: Redis On Windows安装记录
          请登录后发表评论 登录
          全部评论
          求道~

          注册时间:2010-11-30

          • 博文量
            545
          • 访问量
            7530257