Python pymongo模块常用操作分析

2020-06-22 09:26 来源:易采站长站 作者:易采站长站整理 点击: 评论:

A-A+

原标题:Python pymongo模块常用操作分析

本文实例讲述了Python pymongo模块常用操作。分享给大家供大家参考,具体如下:

环境:pymongo3.0.3,python3

以下是我整理的一些关于pymongo的操作,网上很多是用

pymongo.Connecion()
去连接数据库的,但是我这里连接一直提示没有这个包,如果大家有什么解决方案或者其他需要补充的,也欢迎告诉我。

一、导入pymongo,使用MongClient连接数据库,连接到myinfo数据库


import pymongo
client= pymongo.MongoClient("127.0.0.1",27017)
db=client.myinfo

二、

insert
insert_one()
只能插入一条数据,插入多条数据的格式是
db.user.insert([{条数1},{条数2}])
,一定要加[],否则只会添加进去第一条(user是一个集合,除了用db[“collection”]外也可以用
db.collection
来对集合进行操作


db["user"].insert_one({"name":"zhao"})
db["user"].insert_one({"name":"zhou","age":"5"})
db["user"].insert([{"name":"wu","age":"6"},{"name":"zheng","age":"7"}])

*insert还可以用下面这种方式插入,将数据独立出来


data = [
{"name":"zhao","rank":"1"},
{"name":"qian","rank":"2"},
{"name":"sun","rank":"3"},
{"name":"li","rank":"4"},
]db.user.insert(data)

三、update,$set:更新操作,multi=True:是否对查询到的全部数据进行操作,upsert=True:如果找不到查询的结果是否插入一条数据


db.user.update_one({"age":"2"},{"$set":{"name":"qian","age":2}})
db.user.update({"name":"sun"},{"$set":{"name":"qian"}},upsert=True)

*update_one也是只能对一条数据进行操作,$set是update操作的$操作符,也可以用$inc或$push,前两个操作速度差不多,$push操作速度较慢。

四、remove,如果后面()内不填写内容,就是将整个表清空了,

db.user.find_one_and_delete()
也是删除的意思


db.user.remove({"name":"wu"})
db.user.find_one_and_delete({"name":"zheng"})

五、

db.user.count()
,统计查询出的条数,()内不填写东西,就是统计出该集合下所有的数据


print(db.user.count({"age":"6"}))

六、打印出查询结果


from bson import json_util as jsonb
print(jsonb.dumps(list(db.user.find({"name":"wu"}))))

【易采站长站编辑:秋军】