python当中的mongoDB的使用

准备工作:

1.python安装好pymongo

pip install pymongo

2.本机安装mongoDB

详情见参考文章:

https://blog.csdn.net/u014705021/article/details/51777123

https://www.cnblogs.com/melonjiang/p/6536876.html

连接mongoDB

from pymongo import MongoClient

#使用MongoClient连接数据库,第一个参数为IP,第二个参数为端口号,端口号默认为27017
#写法1
con = MongoClient('127.0.0.1', 27017)
#写法2
con = MongoClient('mongodb://127.0.0.1:27017/')

连接数据库mydb1

#连接mydb1数据库,没有则自动创建mydb1
#写法1
db = con.mydb1
#写法2
db = con['mydb1']

指定集合

#指定集合(类似于关系数据库里面的表),没有时自动创建
#写法1
my_collection = db.test_collection
#写法2
my_collection = db['test_collection']

插入(单条插入,insert_one)

不建议使用insert

#不指定_id,会自动生成一个_id
db.test_collection.insert_one({"name":"join","age":"19"})
#指定_id(如果重复,会产生异常)
db.test_collection.insert_one({"_id":"123456","name":"join","age":"19"})

插入(单条插入,save)

不指定 _id 字段 save() 方法类似于 insert() 方法/指定_id,若此_id的数据不存在,则插入该数据

db.test_collection.save({'_id': '5c3701e27eb8d604c04584ae',"name":"tony","age":"22"})

插入(多条插入)

db.test_collection.insert_many([
    {'name':'lily','age': '20'},
    {'name':'harry','age':'25'}
    ])

更新(save方法)

save方法指定了_id,则更新该_id的数据

db.test_collection.insert_one({'_id': '5c3701e27eb8d604c04584ae',"name":"tony","age":"19"})
db.test_collection.save({'_id': '5c3701e27eb8d604c04584ae',"name":"tony","age":"22"})

更新(update方法)

multi(默认为false): 如果multi=true,则修改所有符合条件的行,否则只修改第一条符合条件的行。

upsert(默认为false):如果upsert=true,如果query找到了符合条件的行,则修改这些行,如果没有找到,则追加一行符合query和obj的行

#只更新一条
db.test_collection.update({'name': "tony"}, {'$set':{'name': 'test'}})
# multi=True,则若有多条,则同时更改
db.test_collection.update({'name': "tony"}, {'$set':{'name': 'test'}},multi=True)
# upsert(默认为false):如果upsert=true,如果query找到了符合条件的行,则修改这些行,如果没有找到,则追加一行符合query和obj的行
db.test_collection.update({'name': "tony"}, {'$set':{'name': 'test'}},upsert=True,multi=True)

查找(find)

db.test_collection.find()
# 根据条件查找
db.test_collection.find({查询条件})

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值