加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python之pymongo

发布时间:2020-12-17 00:03:16 所属栏目:Python 来源:网络整理
导读:引入 在这里我们来看一下Python3下MongoDB的存储操作,在本节开始之前请确保你已经安装好了MongoDB并启动了其服务,另外安装好了Python的PyMongo库。 MongoDB 数据库安装与介绍可以查看之前的? 安装 pip3 install pymongo 使用pymongo 一,连接MongoClient

引入

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

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 style="color: #000000;">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

完!!!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读