python之pymongo

python之pymongo,第1张

概述引入在这里我们来看一下Python3下MongoDB的存储 *** 作,在本节开始之前请确保你已经安装好了MongoDB并启动了其服务,另外安装好了Python的PyMongo库。MongoDB 数据库安装与介绍可以查看之前的 MongoDB 教程。安装pip3 install pymongo 使用pymongo一,连接MongoClient使用pymongo的第一步首先是连接Client来使用服务:from pymongo import MongoClientClient = MongoClient() 二,获取数据库(database)在MongoDB中一个实例能够支持多个独立的数据库,你可以用点取属性的方式来获取数据库,或者通过字典的方式获取:db = Client.test_databasedb = Client['test_database'](注:'test'可以换成你想要用的名字,比如"python_database") 三,获取CollectionCollection是存储在MongoDB中的一组文件,同获取database一样,你可以用点取属性的方式或者字典的方法获取:collection = db.test_collectioncollection = db['test_collection'] 四,存储数据在MongoDB中,数据是以BSON的类型存储的。见下面的post:import datetimepost = ['type':'BSON', 'date':datetime.datetime.utcnow()]了解完MongoDB的数据格式后,你可以通过以下的方式插入数据(其中.inserted_id将返回ObjectId对象):document1 = {'x':1}document2 = {'x':2}posts = db.posts #你也可以不这样做,每次通过db.posts调用post_1 = posts.insert_one(document1).inserted_idpost_2 = posts.insert_one(document2).inserted_id每个插入的数据对应一个ObjectId,可直接查看:>>>post_1ObjectId(...)>>>post_2ObjectId(...)你还可以用insert_many()插入多个文档:new_document = [{'x':3}, {'x':4}]result = posts.insert_many(new_document)>>>result.inserted_ids[ObjectId(...),ObjectId(...)] 五,从MongoDB中调用数据>>>posts.find_one()['x':'1']但用find_one()的方法只能获取一个数据,如果数据库中存在多个数据时,它返回的是第一个的值。你也可以通过ObjectId来请求数据,效果和上面是一样的。如果你想打印出全部数据,可以通过迭代的方式获取:>>>for data in posts.find():>>> data>>>{u'x':1,u'x':2,u'x':3,u'x':4}你也可以加入限制性因素来获取特定的数据:>>>for post in posts.find({'x':1}):>>> post>>>{u'x':1}查找条件中也可以用正则匹配来匹配calue。 六,更新数据在pymongo中可以用update_one()来更新数据:>>>posts.update_one({'x':4},{'$set':{'x':3}})其中传入的第一个参数是你想要更新的数据,第二个是你想要更新的最新数据。其中$set部分是必要元素,如果没有会报出错误。除了$set外还有很多其它的比如$inc,对应着不同的功能,在此先不赘述。上面只是更新匹配到的第一个数据,同样地,也可以用update_many()一次更新多个值。 七,删除数据同上,可以用delete_one()和delete_many()方法来删除数据,括号中是筛选条件:>>>posts.delete_one({'x':3})>>>posts.delete_one({'x':2}) 八,计数如果想知道collection中有多少文档,可以用.count()请求来获取符合条件的文档。>>>posts.count()4>>>posts.find({'x':1})1 完!!! 引入

在这里我们来看一下python3下MongoDB的存储 *** 作,在本节开始之前请确保你已经安装好了MongoDB并启动了其服务,另外安装好了Python的PyMongo库。

MongoDB 数据库安装与介绍可以查看之前的 href="https://www.cnblogs.com/peng104/p/10331720.HTML" target="_blank">MongoDB 教程。

安装pip3 install pymongo使用pymongo一,连接MongoClIEnt

使用pymongo的第一步首先是连接ClIEnt来使用服务:

pymongo = MongoClIEnt()二,获取数据库(database)

在MongoDB中一个实例能够支持多个独立的数据库,你可以用点取属性的方式来获取数据库,或者通过字典的方式获取:

db == ClIEnt[]

(注:'test'可以换成你想要用的名字,比如"python_database")

三,获取Collection

Collection是存储在MongoDB中的一组文件,同获取database一样,你可以用点取属性的方式或者字典的方法获取:

collection == db[]四,存储数据

在MongoDB中,数据是以BSON的类型存储的。见下面的post:

= [::datetime.datetime.utcNow()]

了解完MongoDB的数据格式后,你可以通过以下的方式插入数据(其中.inserted_ID将返回ObjectID对象):

document1 = {:1= {:2= db.posts post_1 == posts.insert_one(document2).inserted_ID

每个插入的数据对应一个ObjectID,可直接查看:

>>>>>>

你还可以用insert_many()插入多个文档:

new_document = [{:3},{:4=>>><span >result.inserted_IDs
[ObjectID(...),ObjectID(...)]

五,从MongoDB中调用数据>>>:]

但用find_one()的方法只能获取一个数据,如果数据库中存在多个数据时,它返回的是第一个的值。你也可以通过ObjectID来请求数据,效果和上面是一样的。如果你想打印出全部数据,可以通过迭代的方式获取:

>>> data >> data>>>:1:2:3:4}

你也可以加入限制性因素来获取特定的数据:

>>> post posts.find({:1>>> >>>:1}

查找条件中也可以用正则匹配来匹配calue。

六,更新数据

在pymongo中可以用update_one()来更新数据:

>>>posts.update_one({:4},{:{:3}})

其中传入的第一个参数是你想要更新的数据,第二个是你想要更新的最新数据。其中$set部分是必要元素,如果没有会报出错误。除了$set外还有很多其它的比如$inc,对应着不同的功能,在此先不赘述。

上面只是更新匹配到的第一个数据,同样地,也可以用update_many()一次更新多个值。

七,删除数据

同上,可以用delete_one()和delete_many()方法来删除数据,括号中是筛选条件:

>>>posts.delete_one({:3>>>posts.delete_one({:2})八,计数

如果想知道collection中有多少文档,可以用.count()请求来获取符合条件的文档。

>>>4>>>posts.find({:11

完!!!

总结

以上是内存溢出为你收集整理的python之pymongo全部内容,希望文章能够帮你解决python之pymongo所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1208066.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存