通过pymongo对mongoDB进行增删查改操作:
#!/usr/bin/python3
# -*- coding: utf-8 -*-
"""
通过pymongo进行对mongoDB的CRUD操作
"""
import pymongo
# 创建MONGODB数据库链接
client = pymongo.MongoClient(host='127.0.0.1', port=27017)
# 指定数据库
mydb = client['carData']
# 用户名密码
# mydb.authenticate('alex.deng', '***')
# =======================
# create 创建
# 1. 创建表
# 2. 表中插入新数据
# =======================
# 1. 存放数据的数据库表名(collection),如果没有会自动创建
car_collection = mydb['car_detail']
# 示例数据
item = {'name': 'car1', 'type': 'suv', 'detail': {'city': 'xian', 'sales': [1, 2, 3]}}
# 2. insert 插入数据,一行
car_collection.insert_one(item)
# =======================
# Retrieve: 查询
# =======================
# 查询表中所有记录
dic = car_collection.find() # 格式为cursor
for i in dic:
print(i)
# 查询表中一条记录
one_data = car_collection.find_one()
print(one_data)
# 查询满足条件的记录
for i in car_collection.find({'type': 'suv'}):
print(i)
# =======================
# update: 更新数据
# =======================
# update_one,只更新找到的第一条;update_many,更新符合条件的所有条数据
car_collection.update_many({"name": "car1"}, {"$set": {"type": "mpv"}})
# =======================
# delete: 删除数据
# =======================
print('before: ', car_collection.count_documents({})) # 删除之前的行数
# delete_one,delete_many分别对应符合条件第一1行和所有结果
car_collection.delete_one({"name": "car1"})
print('after: ', car_collection.count_documents({})) # 删除之后的行数