python操作mongodb数据库

1.mongdb和python交互的模块

pymongo 提供了mongdb和python交互的所有方法

安装方式: pip install pymongo

2.使用pymongo

2.1 导入pymongo并选择要操作的集合

数据库和集合乜有会自动创建

from pymongo import MongoClient
client = MongoClient(host,port)
collection = client[db名][集合名]
2.2 添加数据

insert可以批量的插入数据列表,也可以插入一条数据

  collection.insert([{"name":"test10010","age":33},{"name":"test10011","age":34}]/{"name":"test10010","age":33})
2.3 添加一条数据
ret = collection.insert_one({"name":"test10010","age":33})
print(ret)
2.4 添加多条数据
item_list = [{"name":"test1000{}".format(i)} for i in range(10)]
#insert_many接收一个列表,列表中为所有需要插入的字典
t = collection.insert_many(item_list)

2.5 查找一条数据
# find_one查找并且返回一个结果,接收一个字典形式的条件
t = collection.find_one({"name":"test10005"})
print(t)
2.6 查找全部数据

结果是一个Cursor游标对象,是一个可迭代对象,可以类似读文件的指针,但是只能够进行一次读取

#find返回所有满足条件的结果,如果条件为空,则返回数据库的所有
t = collection.find({"name":"test10005"})
    #结果是一个Cursor游标对象,是一个可迭代对象,可以类似读文件的指针,
for i in t:
    print(i)
for i in t: #此时t中没有内容
    print(i)
2.7 更新一条数据(全文档覆盖更新一条或多条)
#update_one更新一条数据
collection.update({"name":"test10005"},{"name":"new_test10005"},multi=True/False)
2.8 更新一条数据(指定键值更新一条或多条)

注意使用$set命令

#update_one更新一条数据
collection.update({"name":"test10005"},{"$set":{"name":"new_test10005"}},multi=True/False)
2.9 更新一条数据

注意使用$set命令

#update_one更新一条数据
collection.update_one({"name":"test10005"},{"$set":{"name":"new_test10005"}})
2.10 更行全部数据
# update_one更新全部数据
collection.update_many({"name":"test10005"},{"$set":{"name":"new_test10005"}})
2.11 插入更新数据
#update_one更新一条数据
collection.update({"name":"test10005"},{"$set":{"name":"new_test10005"}},upsert=True)
先查询数据库中是否含有{"name":"test10005"}的数据,如果存在则{"name":"new_test10005"}进行修改,如果不存在则将{"name":"new_test10005"}插入到数据库
2.12 删除一条数据
#delete_one删除一条数据
collection.delete_one({"name":"test10010"})
2.13 删除全部数据
#delete_may删除所有满足条件的数据
collection.delete_many({"name":"test10010"})

全部代码如下:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值