- 导入pymongo并选择要操作的集合 数据库和集合乜有会自动创建
- 添加一条数据
- 添加多条数据
- 查找一条数据
- 查找全部数据
- 更新一条数据 注意使用$set命令
- 更行全部数据
- 删除一条数据
- 删除全部数据
from pymongo import MongoClient
"""
步骤:
1. 导入: from pymongo import MongoClient
2. 链接: client = MongoClient
3. 获取要操作的集合: collection = client['数据库名']['集合名']
4. 操作集合, 增删改查
5. 关闭数据链接, 释放资源: client.close()
"""
class MongoTest(object):
def __init__(self):
"""创建client对象, 建立数据库链接"""
# 开启认证模式
# 方式1: 分别指定
# self.client = MongoClient(host='127.0.0.1', port=27017, username='py8', password='123')
# 方式2: 指定URI
# self.client = MongoClient('mongodb://py8:123@127.0.0.1:27017')
# 不开启认证模式
self.client = MongoClient()
# self.client = MongoClient(host='127.0.0.1', port=27017)
# print(self.client)
self.collection = self.client['py8']['test']
def __del__(self):
""" 关闭数据链接, 释放资源"""
self.client.close()
def insert_one(self):
"""插入一条数据"""
self.collection.insert_one({'name':'老王', 'age':18})
def insert_many(self):
"""插入多条数据"""
# 准备字典列表
datas = [{'name': 'test_{}'.format(i), 'age': i} for i in range(20)]
# 插入多条
self.collection.insert_many(datas)
def update_one(self):
"""更新一条数据"""
# 把年龄小于10岁的改为16岁
self.collection.update_one({'age':{'$lt': 10}}, {'$set': {'age': 16}})
def update_many(self):
"""更新多少条件"""
# 把年龄小于10岁的改为16岁
self.collection.update_many({'age':{'$lt': 10}}, {'$set': {'age': 16}})
def find_one(self):
"""查看一条数据"""
data = self.collection.find_one({'age': {'$lt': 16}})
print(data)
print(type(data))
def find_many(self):
"""查询多条数据"""
cursor = self.collection.find({'age': {'$lt': 16}})
# 查询多少数据, 返回时一个游标对象, 可以进行遍历, 但是只能遍历一次
# print(cursor)
for data in cursor:
print(data)
print('='*50)
for data in cursor:
print(data)
def delete_one(self):
"""删除一条数据"""
self.collection.delete_one({'age': {'$lte': 16}})
def delete_many(self):
"""删除多条数据"""
self.collection.delete_many({'age': {'$lte': 16}})
if __name__ == '__main__':
mt = MongoTest()
# mt.insert_one()
# mt.insert_many()
# mt.update_one()
# mt.update_many()
# mt.find_one()
# mt.find_many()
# mt.delete_one()
mt.delete_many()
更多技术资讯可关注:gzitcast