今天一起来了解一下MongoDB数据库的基本操作,MongoDB是一种非关系型数据库,比较出名的关系型数据库应该是Mysql了,操作MongoDB数据库之前请确保已经安装了MongoDB数据库。安装教程可以看看下面的一篇文章:
http://www.runoob.com/mongodb/mongodb-window-install.html
- 首先我们开启Mongodb数据库,然后安装pymongo这个模块,这是python3中操作MongoDB数据库的模块,安装命令 pip install pymongo
- 启动了MongoDB数据库,我们新建一个py文件,首先我们需要引入pymongo这个模块,下面我来介绍MongoDB数据库的增删改查等操作。
- 向数据库插入数据
from pymongo import MongoClient
# 创建MongoDB连接对象
mg = MongoClient(host='127.0.0.1', port=27017)
# 获取数据库
students = mg.students
# 获取COLLECTION 相当于数据库中的表
stu = students.stu
# 向表中插入一条数据
# document 一条完整数据,是一个字典
stu.insert_one({'name': '张三', 'age':22})
data = [
{
'name':'赵四',
'age':23,
'sex':'男'
},
{
'name':'刘能',
'age':21,
'sex':'男'
}
]
# 向表中插入多条数据 documents [{},{},{},{}]
# 一个collection中的数据字段可以不同
stu.insert_many(data)
# 接收插入数据返回的结果
# 返回的是InsertOneResult类型的对象
# inserted_id 插入数据返回的id
rs = stu.insert_one({'name':'小王', 'age':25})
print(rs.inserted_id)
# 返回是一个列表,列表存放每一个插入数据的id
rs = stu.insert_many([{'name':'小李', 'age':25},{'name':'校长', 'age':20}])
#
print(rs.inserted_ids)
- 删除数据
# remove() 删除
rs = stu.remove({'name': '校长', 'age' :30})
print(rs)
3.更新数据
# 修改数据,修改一条数据,匹配第一条 ,覆盖操作
# rs = stu.update(spec={'name': '校长'}, document={'$set': data})
rs = stu.find_one({'name': '校长'})
rs['age'] = 30
# replace_one() 替换,可以指定替换某个字段的值
rs = stu.replace_one({'_id': rs['_id']}, rs)
print(rs)
# 修改符合条件的所有数据 # 覆盖操作
# $gt 小于 $gte小于等于
# $lt 大于 $lte大于等于
# $set 设置值 $inc 自增
# $match 匹配
# rs = stu.update_many(filter={'age':{'$gte':23}}, update={'$set': data})
#
# print(rs)
# 修改
# stu.replace()
- 查询数据
# 查找一条数据,直接返回的就是字典,没找到返回None
# rs = stu.find_one({'age': 30})
# print(rs)
data = {}
data['name'] = '修改后的校长'
data['age'] = 100
data['class'] = 'Python12'
好了,MongoDB就先写到这里,以后有涉及的将会继续增加内容