准备工作:
1.python安装好pymongo
pip install pymongo
2.本机安装mongoDB
详情见参考文章:
https://blog.youkuaiyun.com/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({查询条件})