Python3(基础|高级)语法实战(|多线程|多进程|线程池|进程池技术)|多线程安全问题解决方案
Python3操作MySQL8.XX创建表|CRUD基本操作
Python3操作SQLite3创建表主键自增长|CRUD基本操作
anaconda3最新版安装|使用详情|Error: Please select a valid Python interpreter
Python函数绘图与高等代数互融实例(一):正弦函数与余弦函数
Python函数绘图与高等代数互融实例(三):设置X|Y轴|网格线
Python函数绘图与高等代数互融实例(四):设置X|Y轴参考线|参考区域
Python函数绘图与高等代数互融实例(五): 则线图综合案例
Python3操作MongoDb7最新版创建文档及CRUD基本操作
Centos7安装MongoDB7.xxNoSQL数据库|设置开机启动(骨灰级+保姆级)
Centos7安装Redis7.x最新稳定版|配置开机启动(骨灰级|保姆级)
高效开发认知升维:
(1) 当前安装的版本,选择对应的版本的文档,本人安装的是最新版: db version v7.1.0-rc4
跳转值详细页面如下图所示
选择码农比较关注的CRUD与当前使用的开发语言(此处,开发语言选择Python)
一: Python3连接Mongodb
查看Mongodb版本号:
[root@www bin]# ./mongod --version
db version v7.1.0-rc4
Build Info: {
"version": "7.1.0-rc4",
"gitVersion": "7bff196d50a937677dc800e0b08d5b9a6cc4d3b6",
"openSSLVersion": "OpenSSL 1.0.1e-fips 11 Feb 2013",
"modules": [],
"allocator": "tcmalloc",
"environment": {
"distmod": "rhel70",
"distarch": "x86_64",
"target_arch": "x86_64"
}
}
MongoDB是一个基于分布式文件存储的文档数据库,介于关系数据库和非关系数据库之间,是非关系数据库当中功能最丰富、最像关系数据库的一种NoSQL数据库。MongoDB支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。MongoDB最大的特点是支持的查询语言非常强大,语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引
要使用PyMongo操作MongoDB,首先需要初始化数据库连接。
(1)如果 MongoDB 就运行在本地电脑上,而且也没有修改端口或者添加用户名和密码,则初始化MongoClient的实例不需要带参数,直接写为以下格式:
先安装pymongo模块
PS D:\program_file_worker\python_source_work> pip3 install pymongo
..........................
..........................
Installing collected packages: dnspython, pymongo
Successfully installed dnspython-2.4.2 pymongo-4.5.0
二: 创建集合并插入一条数据
import datetime
import pymongo
'''
Python3操作mongodb数据库:
pymongo模块使用MongoClient对象来描述一个数据库客户端,创建对象所需要的参数主要有host和port
场景的有三种:
myClient = pymongo.MongoClient()
myClient = pymongo.MongoClient('192.168.1.111',27017)
myClient = pymongo.MongoClient("mongodb://192.168.1.111:27017/")
'''
myClient = pymongo.MongoClient('mongodb://192.168.1.111:27017/')
book = {
'author': 'Mike',
'text': 'My first book!',
'tags': ['爬虫', 'python', 'C', 'java', '网络'],
'date': datetime.datetime.utcnow()
}
# 创建集合
mydb = myClient['booksDB']
# 获得myDatabase数据集合
dblist = mydb.get_collection('booksDB')
print(dblist)
# 插入数据时,才会在服务器响应目录生成对应的booksDB集合
resultData = dblist.insert_one(book)
print(dblist.find_one())
查看服务器集合生成情况,进入服务数据目录如下,没有执行resultData = dblist.insert_one(book) 插入数据操作时,在该目录下没有生成‘booksDB’集合
执行该语句后,resultData = dblist.insert_one(book),在次参考该目录如下,表示已经生成了‘booksDatabase"数据库集合
D:\program_file_worker\anaconda\python.exe D:\program_file_worker\python_source_work\SSO\grammar\ClassGrammarMongodbExecutorInsert.py
Collection(Database(MongoClient(host=['192.168.1.111:27017'], document_class=dict, tz_aware=False, connect=True), 'booksDB'), 'booksDB')
{'_id': ObjectId('651e4f9b9f93bbe01a987078'), 'author': 'Mike', 'text': 'My first book!', 'tags': ['爬虫', 'python', 'C', 'java', '网络'], 'date': datetime.datetime(2023, 10, 5, 5, 54, 35, 105000)}
三: 插入批量数据
import datetime import pymongo ''' Python操作Mongodb批量插入数据 ''' myClient = pymongo.MongoClient('mongodb://192.168.1.111:27017/') books = [ { 'author': '老杨', 'age': 50, 'text': '我的乖乖!', 'tags': ['爬虫实战', 'python3', 'C入门到放弃', 'java入门到放弃', '网络黑客'], 'date': datetime.datetime.utcnow()}, { 'author': 'Mike', 'age': 40, 'text': 'My first book!', 'tags': ['爬虫', 'python', 'C', 'java', '网络'], 'date': datetime.datetime.utcnow() }, { 'author': 'John', 'age': 54, 'text': 'I love you !', 'tags': ['爬虫入门', 'python胶水语言', 'C高级语言', 'java垫底语言', '网络修理工'], 'date': datetime.datetime.utcnow() }, { 'author': '老许', 'age': 90, 'text': '房地产大亨!', 'tags': ['入门房地产', '节制扩张', '适中拓展', '快速扩张', '无节制扩张', '一丘之貉', '落网入狱'], 'date': datetime.datetime.utcnow() }] # 访问booksDB数据库 booksDB = myClient.booksDB print(booksDB) print('-------------------------------------------------------------------------------------') # 创建集合 mydb = myClient['booksDB'] # 获得booksDB数据集合 dblist = mydb.get_collection('booksDB') print(dblist) print() print('-------------------------------------------------------------------------------------') # 插入数据时,才会在服务器响应目录生成对应的booksDB集合 try: resultData = dblist.insert_many(books) # 根据条件检索 print(dblist.find_one({'author': '老许'})) print() print('--------------------------------------------------------------------------------------') # 循环遍历 for book in dblist.find(): print("book: ", book) except Exception as err: print('Mongodb异常: %s' % err)
运行效果:
D:\program_file_worker\anaconda\python.exe D:\program_file_worker\python_source_work\SSO\grammar\ClassGrammarMongodbExecutorBatchInsert.py
Database(MongoClient(host=['192.168.1.111:27017'], document_class=dict, tz_aware=False, connect=True), 'booksDB')
-------------------------------------------------------------------------------------
Collection(Database(MongoClient(host=['192.168.1.111:27017'], document_class=dict, tz_aware=False, connect=True), 'booksDB'), 'booksDB')-------------------------------------------------------------------------------------
{'_id': ObjectId('651fafe576635cb7daaaa426'), 'author': '老许', 'age': 150, 'text': '房地产大亨!', 'tags': ['入门房地产', '节制扩张', '适中拓展', '快速扩张', '无节制扩张', '一丘之貉', '落网入狱'], 'date': datetime.datetime(2023, 10, 6, 6, 57, 41, 497000)}--------------------------------------------------------------------------------------
book: {'_id': ObjectId('651fafe576635cb7daaaa423'), 'author': '老杨', 'age': 20, 'text': '我的乖乖!', 'tags': ['爬虫实战', 'python3', 'C入门到放弃', 'java入门到放弃', '网络黑客'], 'date': datetime.datetime(2023, 10, 6, 6, 57, 41, 497000)}
book: {'_id': ObjectId('651fafe576635cb7daaaa424'), 'author': 'Mike', 'age': 25, 'text': 'My first book!', 'tags': ['爬虫', 'python', 'C', 'java', '网络'], 'date': datetime.datetime(2023, 10, 6, 6, 57, 41, 497000)}
book: {'_id': ObjectId('651fafe576635cb7daaaa425'), 'author': 'John', 'age': 23, 'text': 'I love you !', 'tags': ['爬虫入门', 'python胶水语言', 'C高级语言', 'java垫底语言', '网络修理工'], 'date': datetime.datetime(2023, 10, 6, 6, 57, 41, 497000)}
book: {'_id': ObjectId('651fafe576635cb7daaaa426'), 'author': '老许', 'age': 150, 'text': '房地产大亨!', 'tags': ['入门房地产', '节制扩张', '适中拓展', '快速扩张', '无节制扩张', '一丘之貉', '落网入狱'], 'date': datetime.datetime(2023, 10, 6, 6, 57, 41, 497000)}
book: {'_id': ObjectId('651fb01d61245287e271230d'), 'author': '老杨1', 'age': 30, 'text': '我的乖乖!', 'tags': ['爬虫实战', 'python3', 'C入门到放弃', 'java入门到放弃', '网络黑客'], 'date': datetime.datetime(2023, 10, 6, 6, 58, 37, 159000)}
book: {'_id': ObjectId('651fb01d61245287e271230e'), 'author': 'Mike1', 'age': 45, 'text': 'My first book!', 'tags': ['爬虫', 'python', 'C', 'java', '网络'], 'date': datetime.datetime(2023, 10, 6, 6, 58, 37, 159000)}
book: {'_id': ObjectId('651fb01d61245287e271230f'), 'author': 'John1', 'age': 33, 'text': 'I love you !', 'tags': ['爬虫入门', 'python胶水语言', 'C高级语言', 'java垫底语言', '网络修理工'], 'date': datetime.datetime(2023, 10, 6, 6, 58, 37, 159000)}
book: {'_id': ObjectId('651fb01d61245287e2712310'), 'author': '老许1', 'age': 250, 'text': '房地产大亨!', 'tags': ['入门房地产', '节制扩张', '适中拓展', '快速扩张', '无节制扩张', '一丘之貉', '落网入狱'], 'date': datetime.datetime(2023, 10, 6, 6, 58, 37, 159000)}
book: {'_id': ObjectId('651fb041b9d2621c622cc212'), 'author': '老杨2', 'age': 30, 'text': '我的乖乖!', 'tags': ['爬虫实战', 'python3', 'C入门到放弃', 'java入门到放弃', '网络黑客'], 'date': datetime.datetime(2023, 10, 6, 6, 59, 13, 781000)}
book: {'_id': ObjectId('651fb041b9d2621c622cc213'), 'author': 'Mike2', 'age': 45, 'text': 'My first book!', 'tags': ['爬虫', 'python', 'C', 'java', '网络'], 'date': datetime.datetime(2023, 10, 6, 6, 59, 13, 781000)}
book: {'_id': ObjectId('651fb041b9d2621c622cc214'), 'author': 'John2', 'age': 34, 'text': 'I love you !', 'tags': ['爬虫入门', 'python胶水语言', 'C高级语言', 'java垫底语言', '网络修理工'], 'date': datetime.datetime(2023, 10, 6, 6, 59, 13, 781000)}
book: {'_id': ObjectId('651fb041b9d2621c622cc215'), 'author': '老许2', 'age': 100, 'text': '房地产大亨!', 'tags': ['入门房地产', '节制扩张', '适中拓展', '快速扩张', '无节制扩张', '一丘之貉', '落网入狱'], 'date': datetime.datetime(2023, 10, 6, 6, 59, 13, 781000)}
book: {'_id': ObjectId('651fb046e6b4f0d2f8776de3'), 'author': '老杨2', 'age': 30, 'text': '我的乖乖!', 'tags': ['爬虫实战', 'python3', 'C入门到放弃', 'java入门到放弃', '网络黑客'], 'date': datetime.datetime(2023, 10, 6, 6, 59, 18, 289000)}
book: {'_id': ObjectId('651fb046e6b4f0d2f8776de4'), 'author': 'Mike2', 'age': 45, 'text': 'My first book!', 'tags': ['爬虫', 'python', 'C', 'java', '网络'], 'date': datetime.datetime(2023, 10, 6, 6, 59, 18, 289000)}
book: {'_id': ObjectId('651fb046e6b4f0d2f8776de5'), 'author': 'John2', 'age': 34, 'text': 'I love you !', 'tags': ['爬虫入门', 'python胶水语言', 'C高级语言', 'java垫底语言', '网络修理工'], 'date': datetime.datetime(2023, 10, 6, 6, 59, 18, 289000)}
book: {'_id': ObjectId('651fb046e6b4f0d2f8776de6'), 'author': '老许2', 'age': 100, 'text': '房地产大亨!', 'tags': ['入门房地产', '节制扩张', '适中拓展', '快速扩张', '无节制扩张', '一丘之貉', '落网入狱'], 'date': datetime.datetime(2023, 10, 6, 6, 59, 18, 289000)}
book: {'_id': ObjectId('651fb094b0b7ec272738b8a0'), 'author': '老杨', 'age': 50, 'text': '我的乖乖!', 'tags': ['爬虫实战', 'python3', 'C入门到放弃', 'java入门到放弃', '网络黑客'], 'date': datetime.datetime(2023, 10, 6, 7, 0, 36, 217000)}
book: {'_id': ObjectId('651fb094b0b7ec272738b8a1'), 'author': 'Mike', 'age': 40, 'text': 'My first book!', 'tags': ['爬虫', 'python', 'C', 'java', '网络'], 'date': datetime.datetime(2023, 10, 6, 7, 0, 36, 217000)}
book: {'_id': ObjectId('651fb094b0b7ec272738b8a2'), 'author': 'John', 'age': 54, 'text': 'I love you !', 'tags': ['爬虫入门', 'python胶水语言', 'C高级语言', 'java垫底语言', '网络修理工'], 'date': datetime.datetime(2023, 10, 6, 7, 0, 36, 217000)}
book: {'_id': ObjectId('651fb094b0b7ec272738b8a3'), 'author': '老许', 'age': 90, 'text': '房地产大亨!', 'tags': ['入门房地产', '节制扩张', '适中拓展', '快速扩张', '无节制扩张', '一丘之貉', '落网入狱'], 'date': datetime.datetime(2023, 10, 6, 7, 0, 36, 217000)}
book: {'_id': ObjectId('651fb12f2997663e72d0b67c'), 'author': '老杨', 'age': 50, 'text': '我的乖乖!', 'tags': ['爬虫实战', 'python3', 'C入门到放弃', 'java入门到放弃', '网络黑客'], 'date': datetime.datetime(2023, 10, 6, 7, 3, 11, 510000)}
book: {'_id': ObjectId('651fb12f2997663e72d0b67d'), 'author': 'Mike', 'age': 40, 'text': 'My first book!', 'tags': ['爬虫', 'python', 'C', 'java', '网络'], 'date': datetime.datetime(2023, 10, 6, 7, 3, 11, 510000)}
book: {'_id': ObjectId('651fb12f2997663e72d0b67e'), 'author': 'John', 'age': 54, 'text': 'I love you !', 'tags': ['爬虫入门', 'python胶水语言', 'C高级语言', 'java垫底语言', '网络修理工'], 'date': datetime.datetime(2023, 10, 6, 7, 3, 11, 510000)}
book: {'_id': ObjectId('651fb12f2997663e72d0b67f'), 'author': '老许', 'age': 90, 'text': '房地产大亨!', 'tags': ['入门房地产', '节制扩张', '适中拓展', '快速扩张', '无节制扩张', '一丘之貉', '落网入狱'], 'date': datetime.datetime(2023, 10, 6, 7, 3, 11, 510000)}Process finished with exit code 0
四: 查询记录
import datetime import pymongo print() print() print() print("pymongo版本: ", pymongo.version) print() print() print() ''' Python操作Mongodb查询数据 ''' myClient = pymongo.MongoClient('mongodb://192.168.1.111:27017/') # 创建集合(库) mydb = myClient['booksDB'] # 获得booksDB数据集合(表) dbTable = mydb.get_collection('booksDB') print(dbTable) # 更加条件查询 # select * from book where author='老杨' resultReader = dbTable.find_one({'author': '老杨'}) print("resultReader: ", resultReader) resultData = dbTable.find({'author': '老杨'}) print() print("resultData:", resultData) # and操作 print("逻辑与操作and") resultData = dbTable.find_one({'author': '老许', 'text': '房地产大亨!'}) print(resultData) print() print("-----------------------------------------------查询作者为老杨的记录----------------------------------- ") # 返回游标对象(过滤提取author='老杨'的记录) cursor = dbTable.find({'author': '老杨'}) print(type(cursor)) for book in cursor: print("记录类型: :", type(book), '文档里面的每条记录:', book) print('------------------------------------------------查询所有--------------------------------------------') # 返回游标对象(所有的记录) cursor = dbTable.find({}) print(type(cursor)) for book in cursor: print("记录类型: :", type(book), '文档里面的每条记录:', book) print() print() print('-----------------------------------逻辑与查询(And)--------------------------------------------------') cursor = dbTable.find({'author': '老杨', 'age': 50}) for book in cursor: print("记录类型: :", type(book), '文档里面的每条记录:', book) print() print('----------通配符$all匹配域的值为集合的文档记录;配置tags的值包含[网络修理工 python胶水语言]的文档----------') matchData = dbTable.find({"tags": {"$all": ['网络修理工', 'python胶水语言']}}) for book in matchData: print("记录类型: :", type(book), '文档里面的每条记录:', book) print() print('------------------------------------过滤提取age gt 100的文档----------------------------') filterAgeData = dbTable.find({"age": {"$gt": 100}}) for book in filterAgeData: print("记录类型: :", type(book), '文档里面的每条记录:', book) print() print('-----------------------------age大于15 | age 小于50------------------------------------') filterAgeData = dbTable.find({"age": {"$gt": 15, "$lt": 50}}) for book in filterAgeData: print("记录类型: :", type(book), '文档里面的每条记录:', book)
运行效果:
D:\program_file_worker\anaconda\python.exe D:\program_file_worker\python_source_work\SSO\grammar\ClassGrammarMongodbExecutorQuery.py
pymongo版本: 4.5.0
Collection(Database(MongoClient(host=['192.168.1.111:27017'], document_class=dict, tz_aware=False, connect=True), 'booksDB'), 'booksDB')
resultReader: {'_id': ObjectId('651fafe576635cb7daaaa423'), 'author': '老杨', 'age': 20, 'text': '我的乖乖!', 'tags': ['爬虫实战', 'python3', 'C入门到放弃', 'java入门到放弃', '网络黑客'], 'date': datetime.datetime(2023, 10, 6, 6, 57, 41, 497000)}resultData: <pymongo.cursor.Cursor object at 0x0000017047B335D0>
逻辑与操作and
{'_id': ObjectId('651fafe576635cb7daaaa426'), 'author': '老许', 'age': 150, 'text': '房地产大亨!', 'tags': ['入门房地产', '节制扩张', '适中拓展', '快速扩张', '无节制扩张', '一丘之貉', '落网入狱'], 'date': datetime.datetime(2023, 10, 6, 6, 57, 41, 497000)}-----------------------------------------------查询作者为老杨的记录-----------------------------------
<class 'pymongo.cursor.Cursor'>
记录类型: : <class 'dict'> 文档里面的每条记录: {'_id': ObjectId('651fafe576635cb7daaaa423'), 'author': '老杨', 'age': 20, 'text': '我的乖乖!', 'tags': ['爬虫实战', 'python3', 'C入门到放弃', 'java入门到放弃', '网络黑客'], 'date': datetime.datetime(2023, 10, 6, 6, 57, 41, 497000)}
记录类型: : <class 'dict'> 文档里面的每条记录: {'_id': ObjectId('651fb094b0b7ec272738b8a0'), 'author': '老杨', 'age': 50, 'text': '我的乖乖!', 'tags': ['爬虫实战', 'python3', 'C入门到放弃', 'java入门到放弃', '网络黑客'], 'date': datetime.datetime(2023, 10, 6, 7, 0, 36, 217000)}
记录类型: : <class 'dict'> 文档里面的每条记录: {'_id': ObjectId('651fb12f2997663e72d0b67c'), 'author': '老杨', 'age': 50, 'text': '我的乖乖!', 'tags': ['爬虫实战', 'python3', 'C入门到放弃', 'java入门到放弃', '网络黑客'], 'date': datetime.datetime(2023, 10, 6, 7, 3, 11, 510000)}
------------------------------------------------查询所有--------------------------------------------
<class 'pymongo.cursor.Cursor'>
记录类型: : <class 'dict'> 文档里面的每条记录: {'_id': ObjectId('651fafe576635cb7daaaa423'), 'author': '老杨', 'age': 20, 'text': '我的乖乖!', 'tags': ['爬虫实战', 'python3', 'C入门到放弃', 'java入门到放弃', '网络黑客'], 'date': datetime.datetime(2023, 10, 6, 6, 57, 41, 497000)}
记录类型: : <class 'dict'> 文档里面的每条记录: {'_id': ObjectId('651fafe576635cb7daaaa424'), 'author': 'Mike', 'age': 25, 'text': 'My first book!', 'tags': ['爬虫', 'python', 'C', 'java', '网络'], 'date': datetime.datetime(2023, 10, 6, 6, 57, 41, 497000)}
记录类型: : <class 'dict'> 文档里面的每条记录: {'_id': ObjectId('651fafe576635cb7daaaa425'), 'author': 'John', 'age': 23, 'text': 'I love you !', 'tags': ['爬虫入门', 'python胶水语言', 'C高级语言', 'java垫底语言', '网络修理工'], 'date': datetime.datetime(2023, 10, 6, 6, 57, 41, 497000)}
记录类型: : <class 'dict'> 文档里面的每条记录: {'_id': ObjectId('651fafe576635cb7daaaa426'), 'author': '老许', 'age': 150, 'text': '房地产大亨!', 'tags': ['入门房地产', '节制扩张', '适中拓展', '快速扩张', '无节制扩张', '一丘之貉', '落网入狱'], 'date': datetime.datetime(2023, 10, 6, 6, 57, 41, 497000)}
记录类型: : <class 'dict'> 文档里面的每条记录: {'_id': ObjectId('651fb01d61245287e271230d'), 'author': '老杨1', 'age': 30, 'text': '我的乖乖!', 'tags': ['爬虫实战', 'python3', 'C入门到放弃', 'java入门到放弃', '网络黑客'], 'date': datetime.datetime(2023, 10, 6, 6, 58, 37, 159000)}
记录类型: : <class 'dict'> 文档里面的每条记录: {'_id': ObjectId('651fb01d61245287e271230e'), 'author': 'Mike1', 'age': 45, 'text': 'My first book!', 'tags': ['爬虫', 'python', 'C', 'java', '网络'], 'date': datetime.datetime(2023, 10, 6, 6, 58, 37, 159000)}
记录类型: : <class 'dict'> 文档里面的每条记录: {'_id': ObjectId('651fb01d61245287e271230f'), 'author': 'John1', 'age': 33, 'text': 'I love you !', 'tags': ['爬虫入门', 'python胶水语言', 'C高级语言', 'java垫底语言', '网络修理工'], 'date': datetime.datetime(2023, 10, 6, 6, 58, 37, 159000)}
记录类型: : <class 'dict'> 文档里面的每条记录: {'_id': ObjectId('651fb01d61245287e2712310'), 'author': '老许1', 'age': 250, 'text': '房地产大亨!', 'tags': ['入门房地产', '节制扩张', '适中拓展', '快速扩张', '无节制扩张', '一丘之貉', '落网入狱'], 'date': datetime.datetime(2023, 10, 6, 6, 58, 37, 159000)}
记录类型: : <class 'dict'> 文档里面的每条记录: {'_id': ObjectId('651fb041b9d2621c622cc212'), 'author': '老杨2', 'age': 30, 'text': '我的乖乖!', 'tags': ['爬虫实战', 'python3', 'C入门到放弃', 'java入门到放弃', '网络黑客'], 'date': datetime.datetime(2023, 10, 6, 6, 59, 13, 781000)}
记录类型: : <class 'dict'> 文档里面的每条记录: {'_id': ObjectId('651fb041b9d2621c622cc213'), 'author': 'Mike2', 'age': 45, 'text': 'My first book!', 'tags': ['爬虫', 'python', 'C', 'java', '网络'], 'date': datetime.datetime(2023, 10, 6, 6, 59, 13, 781000)}
记录类型: : <class 'dict'> 文档里面的每条记录: {'_id': ObjectId('651fb041b9d2621c622cc214'), 'author': 'John2', 'age': 34, 'text': 'I love you !', 'tags': ['爬虫入门', 'python胶水语言', 'C高级语言', 'java垫底语言', '网络修理工'], 'date': datetime.datetime(2023, 10, 6, 6, 59, 13, 781000)}
记录类型: : <class 'dict'> 文档里面的每条记录: {'_id': ObjectId('651fb041b9d2621c622cc215'), 'author': '老许2', 'age': 100, 'text': '房地产大亨!', 'tags': ['入门房地产', '节制扩张', '适中拓展', '快速扩张', '无节制扩张', '一丘之貉', '落网入狱'], 'date': datetime.datetime(2023, 10, 6, 6, 59, 13, 781000)}
记录类型: : <class 'dict'> 文档里面的每条记录: {'_id': ObjectId('651fb046e6b4f0d2f8776de3'), 'author': '老杨2', 'age': 30, 'text': '我的乖乖!', 'tags': ['爬虫实战', 'python3', 'C入门到放弃', 'java入门到放弃', '网络黑客'], 'date': datetime.datetime(2023, 10, 6, 6, 59, 18, 289000)}
记录类型: : <class 'dict'> 文档里面的每条记录: {'_id': ObjectId('651fb046e6b4f0d2f8776de4'), 'author': 'Mike2', 'age': 45, 'text': 'My first book!', 'tags': ['爬虫', 'python', 'C', 'java', '网络'], 'date': datetime.datetime(2023, 10, 6, 6, 59, 18, 289000)}
记录类型: : <class 'dict'> 文档里面的每条记录: {'_id': ObjectId('651fb046e6b4f0d2f8776de5'), 'author': 'John2', 'age': 34, 'text': 'I love you !', 'tags': ['爬虫入门', 'python胶水语言', 'C高级语言', 'java垫底语言', '网络修理工'], 'date': datetime.datetime(2023, 10, 6, 6, 59, 18, 289000)}
记录类型: : <class 'dict'> 文档里面的每条记录: {'_id': ObjectId('651fb046e6b4f0d2f8776de6'), 'author': '老许2', 'age': 100, 'text': '房地产大亨!', 'tags': ['入门房地产', '节制扩张', '适中拓展', '快速扩张', '无节制扩张', '一丘之貉', '落网入狱'], 'date': datetime.datetime(2023, 10, 6, 6, 59, 18, 289000)}
记录类型: : <class 'dict'> 文档里面的每条记录: {'_id': ObjectId('651fb094b0b7ec272738b8a0'), 'author': '老杨', 'age': 50, 'text': '我的乖乖!', 'tags': ['爬虫实战', 'python3', 'C入门到放弃', 'java入门到放弃', '网络黑客'], 'date': datetime.datetime(2023, 10, 6, 7, 0, 36, 217000)}
记录类型: : <class 'dict'> 文档里面的每条记录: {'_id': ObjectId('651fb094b0b7ec272738b8a1'), 'author': 'Mike', 'age': 40, 'text': 'My first book!', 'tags': ['爬虫', 'python', 'C', 'java', '网络'], 'date': datetime.datetime(2023, 10, 6, 7, 0, 36, 217000)}
记录类型: : <class 'dict'> 文档里面的每条记录: {'_id': ObjectId('651fb094b0b7ec272738b8a2'), 'author': 'John', 'age': 54, 'text': 'I love you !', 'tags': ['爬虫入门', 'python胶水语言', 'C高级语言', 'java垫底语言', '网络修理工'], 'date': datetime.datetime(2023, 10, 6, 7, 0, 36, 217000)}
记录类型: : <class 'dict'> 文档里面的每条记录: {'_id': ObjectId('651fb094b0b7ec272738b8a3'), 'author': '老许', 'age': 90, 'text': '房地产大亨!', 'tags': ['入门房地产', '节制扩张', '适中拓展', '快速扩张', '无节制扩张', '一丘之貉', '落网入狱'], 'date': datetime.datetime(2023, 10, 6, 7, 0, 36, 217000)}
记录类型: : <class 'dict'> 文档里面的每条记录: {'_id': ObjectId('651fb12f2997663e72d0b67c'), 'author': '老杨', 'age': 50, 'text': '我的乖乖!', 'tags': ['爬虫实战', 'python3', 'C入门到放弃', 'java入门到放弃', '网络黑客'], 'date': datetime.datetime(2023, 10, 6, 7, 3, 11, 510000)}
记录类型: : <class 'dict'> 文档里面的每条记录: {'_id': ObjectId('651fb12f2997663e72d0b67d'), 'author': 'Mike', 'age': 40, 'text': 'My first book!', 'tags': ['爬虫', 'python', 'C', 'java', '网络'], 'date': datetime.datetime(2023, 10, 6, 7, 3, 11, 510000)}
记录类型: : <class 'dict'> 文档里面的每条记录: {'_id': ObjectId('651fb12f2997663e72d0b67e'), 'author': 'John', 'age': 54, 'text': 'I love you !', 'tags': ['爬虫入门', 'python胶水语言', 'C高级语言', 'java垫底语言', '网络修理工'], 'date': datetime.datetime(2023, 10, 6, 7, 3, 11, 510000)}
记录类型: : <class 'dict'> 文档里面的每条记录: {'_id': ObjectId('651fb12f2997663e72d0b67f'), 'author': '老许', 'age': 90, 'text': '房地产大亨!', 'tags': ['入门房地产', '节制扩张', '适中拓展', '快速扩张', '无节制扩张', '一丘之貉', '落网入狱'], 'date': datetime.datetime(2023, 10, 6, 7, 3, 11, 510000)}
-----------------------------------逻辑与查询(And)--------------------------------------------------
记录类型: : <class 'dict'> 文档里面的每条记录: {'_id': ObjectId('651fb094b0b7ec272738b8a0'), 'author': '老杨', 'age': 50, 'text': '我的乖乖!', 'tags': ['爬虫实战', 'python3', 'C入门到放弃', 'java入门到放弃', '网络黑客'], 'date': datetime.datetime(2023, 10, 6, 7, 0, 36, 217000)}
记录类型: : <class 'dict'> 文档里面的每条记录: {'_id': ObjectId('651fb12f2997663e72d0b67c'), 'author': '老杨', 'age': 50, 'text': '我的乖乖!', 'tags': ['爬虫实战', 'python3', 'C入门到放弃', 'java入门到放弃', '网络黑客'], 'date': datetime.datetime(2023, 10, 6, 7, 3, 11, 510000)}----------通配符$all匹配域的值为集合的文档记录;配置tags的值包含[网络修理工 python胶水语言]的文档----------
记录类型: : <class 'dict'> 文档里面的每条记录: {'_id': ObjectId('651fafe576635cb7daaaa425'), 'author': 'John', 'age': 23, 'text': 'I love you !', 'tags': ['爬虫入门', 'python胶水语言', 'C高级语言', 'java垫底语言', '网络修理工'], 'date': datetime.datetime(2023, 10, 6, 6, 57, 41, 497000)}
记录类型: : <class 'dict'> 文档里面的每条记录: {'_id': ObjectId('651fb01d61245287e271230f'), 'author': 'John1', 'age': 33, 'text': 'I love you !', 'tags': ['爬虫入门', 'python胶水语言', 'C高级语言', 'java垫底语言', '网络修理工'], 'date': datetime.datetime(2023, 10, 6, 6, 58, 37, 159000)}
记录类型: : <class 'dict'> 文档里面的每条记录: {'_id': ObjectId('651fb041b9d2621c622cc214'), 'author': 'John2', 'age': 34, 'text': 'I love you !', 'tags': ['爬虫入门', 'python胶水语言', 'C高级语言', 'java垫底语言', '网络修理工'], 'date': datetime.datetime(2023, 10, 6, 6, 59, 13, 781000)}
记录类型: : <class 'dict'> 文档里面的每条记录: {'_id': ObjectId('651fb046e6b4f0d2f8776de5'), 'author': 'John2', 'age': 34, 'text': 'I love you !', 'tags': ['爬虫入门', 'python胶水语言', 'C高级语言', 'java垫底语言', '网络修理工'], 'date': datetime.datetime(2023, 10, 6, 6, 59, 18, 289000)}
记录类型: : <class 'dict'> 文档里面的每条记录: {'_id': ObjectId('651fb094b0b7ec272738b8a2'), 'author': 'John', 'age': 54, 'text': 'I love you !', 'tags': ['爬虫入门', 'python胶水语言', 'C高级语言', 'java垫底语言', '网络修理工'], 'date': datetime.datetime(2023, 10, 6, 7, 0, 36, 217000)}
记录类型: : <class 'dict'> 文档里面的每条记录: {'_id': ObjectId('651fb12f2997663e72d0b67e'), 'author': 'John', 'age': 54, 'text': 'I love you !', 'tags': ['爬虫入门', 'python胶水语言', 'C高级语言', 'java垫底语言', '网络修理工'], 'date': datetime.datetime(2023, 10, 6, 7, 3, 11, 510000)}------------------------------------过滤提取age gt 100的文档----------------------------
记录类型: : <class 'dict'> 文档里面的每条记录: {'_id': ObjectId('651fafe576635cb7daaaa426'), 'author': '老许', 'age': 150, 'text': '房地产大亨!', 'tags': ['入门房地产', '节制扩张', '适中拓展', '快速扩张', '无节制扩张', '一丘之貉', '落网入狱'], 'date': datetime.datetime(2023, 10, 6, 6, 57, 41, 497000)}
记录类型: : <class 'dict'> 文档里面的每条记录: {'_id': ObjectId('651fb01d61245287e2712310'), 'author': '老许1', 'age': 250, 'text': '房地产大亨!', 'tags': ['入门房地产', '节制扩张', '适中拓展', '快速扩张', '无节制扩张', '一丘之貉', '落网入狱'], 'date': datetime.datetime(2023, 10, 6, 6, 58, 37, 159000)}-----------------------------age大于15 | age 小于50------------------------------------
记录类型: : <class 'dict'> 文档里面的每条记录: {'_id': ObjectId('651fafe576635cb7daaaa423'), 'author': '老杨', 'age': 20, 'text': '我的乖乖!', 'tags': ['爬虫实战', 'python3', 'C入门到放弃', 'java入门到放弃', '网络黑客'], 'date': datetime.datetime(2023, 10, 6, 6, 57, 41, 497000)}
记录类型: : <class 'dict'> 文档里面的每条记录: {'_id': ObjectId('651fafe576635cb7daaaa424'), 'author': 'Mike', 'age': 25, 'text': 'My first book!', 'tags': ['爬虫', 'python', 'C', 'java', '网络'], 'date': datetime.datetime(2023, 10, 6, 6, 57, 41, 497000)}
记录类型: : <class 'dict'> 文档里面的每条记录: {'_id': ObjectId('651fafe576635cb7daaaa425'), 'author': 'John', 'age': 23, 'text': 'I love you !', 'tags': ['爬虫入门', 'python胶水语言', 'C高级语言', 'java垫底语言', '网络修理工'], 'date': datetime.datetime(2023, 10, 6, 6, 57, 41, 497000)}
记录类型: : <class 'dict'> 文档里面的每条记录: {'_id': ObjectId('651fb01d61245287e271230d'), 'author': '老杨1', 'age': 30, 'text': '我的乖乖!', 'tags': ['爬虫实战', 'python3', 'C入门到放弃', 'java入门到放弃', '网络黑客'], 'date': datetime.datetime(2023, 10, 6, 6, 58, 37, 159000)}
记录类型: : <class 'dict'> 文档里面的每条记录: {'_id': ObjectId('651fb01d61245287e271230e'), 'author': 'Mike1', 'age': 45, 'text': 'My first book!', 'tags': ['爬虫', 'python', 'C', 'java', '网络'], 'date': datetime.datetime(2023, 10, 6, 6, 58, 37, 159000)}
记录类型: : <class 'dict'> 文档里面的每条记录: {'_id': ObjectId('651fb01d61245287e271230f'), 'author': 'John1', 'age': 33, 'text': 'I love you !', 'tags': ['爬虫入门', 'python胶水语言', 'C高级语言', 'java垫底语言', '网络修理工'], 'date': datetime.datetime(2023, 10, 6, 6, 58, 37, 159000)}
记录类型: : <class 'dict'> 文档里面的每条记录: {'_id': ObjectId('651fb041b9d2621c622cc212'), 'author': '老杨2', 'age': 30, 'text': '我的乖乖!', 'tags': ['爬虫实战', 'python3', 'C入门到放弃', 'java入门到放弃', '网络黑客'], 'date': datetime.datetime(2023, 10, 6, 6, 59, 13, 781000)}
记录类型: : <class 'dict'> 文档里面的每条记录: {'_id': ObjectId('651fb041b9d2621c622cc213'), 'author': 'Mike2', 'age': 45, 'text': 'My first book!', 'tags': ['爬虫', 'python', 'C', 'java', '网络'], 'date': datetime.datetime(2023, 10, 6, 6, 59, 13, 781000)}
记录类型: : <class 'dict'> 文档里面的每条记录: {'_id': ObjectId('651fb041b9d2621c622cc214'), 'author': 'John2', 'age': 34, 'text': 'I love you !', 'tags': ['爬虫入门', 'python胶水语言', 'C高级语言', 'java垫底语言', '网络修理工'], 'date': datetime.datetime(2023, 10, 6, 6, 59, 13, 781000)}
记录类型: : <class 'dict'> 文档里面的每条记录: {'_id': ObjectId('651fb046e6b4f0d2f8776de3'), 'author': '老杨2', 'age': 30, 'text': '我的乖乖!', 'tags': ['爬虫实战', 'python3', 'C入门到放弃', 'java入门到放弃', '网络黑客'], 'date': datetime.datetime(2023, 10, 6, 6, 59, 18, 289000)}
记录类型: : <class 'dict'> 文档里面的每条记录: {'_id': ObjectId('651fb046e6b4f0d2f8776de4'), 'author': 'Mike2', 'age': 45, 'text': 'My first book!', 'tags': ['爬虫', 'python', 'C', 'java', '网络'], 'date': datetime.datetime(2023, 10, 6, 6, 59, 18, 289000)}
记录类型: : <class 'dict'> 文档里面的每条记录: {'_id': ObjectId('651fb046e6b4f0d2f8776de5'), 'author': 'John2', 'age': 34, 'text': 'I love you !', 'tags': ['爬虫入门', 'python胶水语言', 'C高级语言', 'java垫底语言', '网络修理工'], 'date': datetime.datetime(2023, 10, 6, 6, 59, 18, 289000)}
记录类型: : <class 'dict'> 文档里面的每条记录: {'_id': ObjectId('651fb094b0b7ec272738b8a1'), 'author': 'Mike', 'age': 40, 'text': 'My first book!', 'tags': ['爬虫', 'python', 'C', 'java', '网络'], 'date': datetime.datetime(2023, 10, 6, 7, 0, 36, 217000)}
记录类型: : <class 'dict'> 文档里面的每条记录: {'_id': ObjectId('651fb12f2997663e72d0b67d'), 'author': 'Mike', 'age': 40, 'text': 'My first book!', 'tags': ['爬虫', 'python', 'C', 'java', '网络'], 'date': datetime.datetime(2023, 10, 6, 7, 3, 11, 510000)}Process finished with exit code 0
更加详细查询查看官网:
五: 更新记录
import pymongo print() print() print() print("pymongo版本: ", pymongo.version) print() print() print() ''' Python操作Mongodb更新记录: 常用更新操作有下面三个方法: pymongo.collection.Collection.update_one pymongo.collection.Collection.update_many pymongo.collection.Collection.replace_one ''' myClient = pymongo.MongoClient('mongodb://192.168.1.111:27017/') # 创建集合(库) mydb = myClient['booksDB'] # 获得booksDB数据集合(表) dbTable = mydb.get_collection('booksDB') updateResult = dbTable.update_one( {"author": "老杨"}, {"$set": {"text": "你好,老杨,欢迎来到Python3操作mongodb数据库", "age": 50}, "$currentDate": {"lastModified": True} } # 不存在的域会自动添加 ) print("updateResult(修改的数量):", updateResult.modified_count) # 返回游标对象(所有的记录) cursor = dbTable.find({"author": "老杨"}) print(type(cursor)) for book in cursor: print("记录类型: :", type(book), '文档里面的每条记录:', book) print() print('--------------------------批量修改-----------------------------') batchUpdateResult = dbTable.update_many( {"age": {"$gt": 100}}, {"$set": {"author": "许老板|房地产大佬", "text": "房产大佬,大忽悠"}, "$currentDate": {"lastModified": True}}, ) print("batchUpdateResult(受影响的行数): ", batchUpdateResult.modified_count) filterAgeData = dbTable.find({"age": {"$gt": 100}}) for book in filterAgeData: print("记录类型: :", type(book), '文档里面的每条记录:', book) batchReplaceUpdateResult = dbTable.replace_one( {"age": {"$eq": 100}}, { "age": 150, 'author': '许老板|房地产大佬', 'text': '房产大忽悠', "tags": [{"warehouse": "A", "体重": 180}, {"warehouse": "B", "超标": 20}], } ) print("batchReplaceUpdateResult(受影响的行数): ", batchReplaceUpdateResult.modified_count) print() resultData = dbTable.find_one({'age': 150}) print('被修改的记录为') print(resultData)
运行效果:
D:\program_file_worker\anaconda\python.exe D:\program_file_worker\python_source_work\SSO\grammar\ClassGrammarMongodbExecutorUpdate.py
pymongo版本: 4.5.0
updateResult(修改的数量): 1
<class 'pymongo.cursor.Cursor'>
记录类型: : <class 'dict'> 文档里面的每条记录: {'_id': ObjectId('651fafe576635cb7daaaa423'), 'author': '老杨', 'age': 50, 'text': '你好,老杨,欢迎来到Python3操作mongodb数据库', 'tags': ['爬虫实战', 'python3', 'C入门到放弃', 'java入门到放弃', '网络黑客'], 'date': datetime.datetime(2023, 10, 6, 6, 57, 41, 497000), 'lastModified': datetime.datetime(2023, 10, 6, 11, 5, 1, 431000)}
记录类型: : <class 'dict'> 文档里面的每条记录: {'_id': ObjectId('651fb094b0b7ec272738b8a0'), 'author': '老杨', 'age': 50, 'text': '我的乖乖!', 'tags': ['爬虫实战', 'python3', 'C入门到放弃', 'java入门到放弃', '网络黑客'], 'date': datetime.datetime(2023, 10, 6, 7, 0, 36, 217000)}
记录类型: : <class 'dict'> 文档里面的每条记录: {'_id': ObjectId('651fb12f2997663e72d0b67c'), 'author': '老杨', 'age': 50, 'text': '我的乖乖!', 'tags': ['爬虫实战', 'python3', 'C入门到放弃', 'java入门到放弃', '网络黑客'], 'date': datetime.datetime(2023, 10, 6, 7, 3, 11, 510000)}--------------------------批量修改-----------------------------
batchUpdateResult(受影响的行数): 1
记录类型: : <class 'dict'> 文档里面的每条记录: {'_id': ObjectId('651fb01d61245287e2712310'), 'author': '许老板|房地产大佬', 'age': 250, 'text': '房产大佬,大忽悠', 'tags': ['入门房地产', '节制扩张', '适中拓展', '快速扩张', '无节制扩张', '一丘之貉', '落网入狱'], 'date': datetime.datetime(2023, 10, 6, 6, 58, 37, 159000), 'lastModified': datetime.datetime(2023, 10, 6, 11, 5, 1, 435000)}
batchReplaceUpdateResult(受影响的行数): 1被修改的记录为
{'_id': ObjectId('651fb041b9d2621c622cc215'), 'age': 150, 'author': '许老板|房地产大佬', 'text': '房产大忽悠', 'tags': [{'warehouse': 'A', '体重': 180}, {'warehouse': 'B', '超标': 20}]}Process finished with exit code 0
详细更新查看官方文档: Mongodb更新文档详细操作
六: 删除记录
import pymongo print() print() print() print("pymongo版本: ", pymongo.version) print() print() print() ''' Python操作Mongodb删除记录: ''' myClient = pymongo.MongoClient('mongodb://192.168.1.111:27017/') # 创建集合(库) mydb = myClient['inventory'] # 获得booksDB数据集合(表) dbTable = mydb.get_collection('inventory') # 插入多条数据 insertManyResult = dbTable.insert_many( [ { "name": "journal", "weight": 250, "size": {"h": 14, "w": 21, "uom": "cm"}, "status": "A", }, { "name": "notebook", "weight": 500, "size": {"h": 8.5, "w": 11, "uom": "in"}, "status": "P", }, { "name": "paper", "weight": 400, "size": {"h": 8.5, "w": 11, "uom": "in"}, "status": "D", }, { "name": "planner", "weight": 750, "size": {"h": 22.85, "w": 30, "uom": "cm"}, "status": "D", }, { "name": "postcard", "weight": 25, "size": {"h": 10, "w": 15.25, "uom": "cm"}, "status": "A", } ] ) print("批量插入数据(插入返回的每条记录id集合): ", insertManyResult.inserted_ids) for autoRecordId in insertManyResult.inserted_ids: print("每条记录ID: %s" % autoRecordId) print() print('----------------------------------查询所有文档记录---------------------------------') allRecordData = dbTable.find({}) for record in allRecordData: print('文档记录ID:%s' % record['_id'], ', 文档记录数据: ', record) print() print("----------------------添加过滤多条删除---------------------------------------------------------------") allDeleteAfterRecordData = dbTable.delete_many({"status": "A"}) print("有多少条数据被删除: %d 条" % allDeleteAfterRecordData.deleted_count) print('----------------------------------查询所有文档记录---------------------------------') deleteAfterRecordData = dbTable.find({}) for record in deleteAfterRecordData: print('文档记录ID:%s' % record['_id'], ', 文档记录数据: ', record) print() print() print("删除发生在那张表: %s" % deleteAfterRecordData.collection.name) print() print('删除单条记录') deleteResult = dbTable.delete_one({"status": "D"}) print("删除的影响数: ", deleteResult.deleted_count) print() print('----------------------------删除所有的记录------------------------------') DeleteResult = dbTable.delete_many({}) print("删除文档记录影响的条数: %d" % DeleteResult.deleted_count)
运行效果:
D:\program_file_worker\anaconda\python.exe D:\program_file_worker\python_source_work\SSO\grammar\ClassGrammarMongodbExecutorDelete.py
pymongo版本: 4.5.0
批量插入数据(插入返回的每条记录id集合): [ObjectId('65201789ca4dfc62a0ae8e82'), ObjectId('65201789ca4dfc62a0ae8e83'), ObjectId('65201789ca4dfc62a0ae8e84'), ObjectId('65201789ca4dfc62a0ae8e85'), ObjectId('65201789ca4dfc62a0ae8e86')]
每条记录ID: 65201789ca4dfc62a0ae8e82
每条记录ID: 65201789ca4dfc62a0ae8e83
每条记录ID: 65201789ca4dfc62a0ae8e84
每条记录ID: 65201789ca4dfc62a0ae8e85
每条记录ID: 65201789ca4dfc62a0ae8e86----------------------------------查询所有文档记录---------------------------------
文档记录ID:652014d52d8e41294ac7360f , 文档记录数据: {'_id': ObjectId('652014d52d8e41294ac7360f'), 'name': 'notebook', 'weight': 500, 'size': {'h': 8.5, 'w': 11, 'uom': 'in'}, 'status': 'P'}
文档记录ID:652014d52d8e41294ac73611 , 文档记录数据: {'_id': ObjectId('652014d52d8e41294ac73611'), 'name': 'planner', 'weight': 750, 'size': {'h': 22.85, 'w': 30, 'uom': 'cm'}, 'status': 'D'}
文档记录ID:6520160ac1fa41f534ddc67c , 文档记录数据: {'_id': ObjectId('6520160ac1fa41f534ddc67c'), 'name': 'notebook', 'weight': 500, 'size': {'h': 8.5, 'w': 11, 'uom': 'in'}, 'status': 'P'}
文档记录ID:6520160ac1fa41f534ddc67d , 文档记录数据: {'_id': ObjectId('6520160ac1fa41f534ddc67d'), 'name': 'paper', 'weight': 400, 'size': {'h': 8.5, 'w': 11, 'uom': 'in'}, 'status': 'D'}
文档记录ID:6520160ac1fa41f534ddc67e , 文档记录数据: {'_id': ObjectId('6520160ac1fa41f534ddc67e'), 'name': 'planner', 'weight': 750, 'size': {'h': 22.85, 'w': 30, 'uom': 'cm'}, 'status': 'D'}
文档记录ID:6520162d80a6a1bff0ec87b8 , 文档记录数据: {'_id': ObjectId('6520162d80a6a1bff0ec87b8'), 'name': 'notebook', 'weight': 500, 'size': {'h': 8.5, 'w': 11, 'uom': 'in'}, 'status': 'P'}
文档记录ID:6520162d80a6a1bff0ec87b9 , 文档记录数据: {'_id': ObjectId('6520162d80a6a1bff0ec87b9'), 'name': 'paper', 'weight': 400, 'size': {'h': 8.5, 'w': 11, 'uom': 'in'}, 'status': 'D'}
文档记录ID:6520162d80a6a1bff0ec87ba , 文档记录数据: {'_id': ObjectId('6520162d80a6a1bff0ec87ba'), 'name': 'planner', 'weight': 750, 'size': {'h': 22.85, 'w': 30, 'uom': 'cm'}, 'status': 'D'}
文档记录ID:6520167f9468f606470b7677 , 文档记录数据: {'_id': ObjectId('6520167f9468f606470b7677'), 'name': 'notebook', 'weight': 500, 'size': {'h': 8.5, 'w': 11, 'uom': 'in'}, 'status': 'P'}
文档记录ID:6520167f9468f606470b7678 , 文档记录数据: {'_id': ObjectId('6520167f9468f606470b7678'), 'name': 'paper', 'weight': 400, 'size': {'h': 8.5, 'w': 11, 'uom': 'in'}, 'status': 'D'}
文档记录ID:6520167f9468f606470b7679 , 文档记录数据: {'_id': ObjectId('6520167f9468f606470b7679'), 'name': 'planner', 'weight': 750, 'size': {'h': 22.85, 'w': 30, 'uom': 'cm'}, 'status': 'D'}
文档记录ID:652016909f062dbfebfe70bf , 文档记录数据: {'_id': ObjectId('652016909f062dbfebfe70bf'), 'name': 'notebook', 'weight': 500, 'size': {'h': 8.5, 'w': 11, 'uom': 'in'}, 'status': 'P'}
文档记录ID:652016909f062dbfebfe70c0 , 文档记录数据: {'_id': ObjectId('652016909f062dbfebfe70c0'), 'name': 'paper', 'weight': 400, 'size': {'h': 8.5, 'w': 11, 'uom': 'in'}, 'status': 'D'}
文档记录ID:652016909f062dbfebfe70c1 , 文档记录数据: {'_id': ObjectId('652016909f062dbfebfe70c1'), 'name': 'planner', 'weight': 750, 'size': {'h': 22.85, 'w': 30, 'uom': 'cm'}, 'status': 'D'}
文档记录ID:652017151cf24b4169cfd0ba , 文档记录数据: {'_id': ObjectId('652017151cf24b4169cfd0ba'), 'name': 'notebook', 'weight': 500, 'size': {'h': 8.5, 'w': 11, 'uom': 'in'}, 'status': 'P'}
文档记录ID:652017151cf24b4169cfd0bb , 文档记录数据: {'_id': ObjectId('652017151cf24b4169cfd0bb'), 'name': 'paper', 'weight': 400, 'size': {'h': 8.5, 'w': 11, 'uom': 'in'}, 'status': 'D'}
文档记录ID:652017151cf24b4169cfd0bc , 文档记录数据: {'_id': ObjectId('652017151cf24b4169cfd0bc'), 'name': 'planner', 'weight': 750, 'size': {'h': 22.85, 'w': 30, 'uom': 'cm'}, 'status': 'D'}
文档记录ID:65201789ca4dfc62a0ae8e82 , 文档记录数据: {'_id': ObjectId('65201789ca4dfc62a0ae8e82'), 'name': 'journal', 'weight': 250, 'size': {'h': 14, 'w': 21, 'uom': 'cm'}, 'status': 'A'}
文档记录ID:65201789ca4dfc62a0ae8e83 , 文档记录数据: {'_id': ObjectId('65201789ca4dfc62a0ae8e83'), 'name': 'notebook', 'weight': 500, 'size': {'h': 8.5, 'w': 11, 'uom': 'in'}, 'status': 'P'}
文档记录ID:65201789ca4dfc62a0ae8e84 , 文档记录数据: {'_id': ObjectId('65201789ca4dfc62a0ae8e84'), 'name': 'paper', 'weight': 400, 'size': {'h': 8.5, 'w': 11, 'uom': 'in'}, 'status': 'D'}
文档记录ID:65201789ca4dfc62a0ae8e85 , 文档记录数据: {'_id': ObjectId('65201789ca4dfc62a0ae8e85'), 'name': 'planner', 'weight': 750, 'size': {'h': 22.85, 'w': 30, 'uom': 'cm'}, 'status': 'D'}
文档记录ID:65201789ca4dfc62a0ae8e86 , 文档记录数据: {'_id': ObjectId('65201789ca4dfc62a0ae8e86'), 'name': 'postcard', 'weight': 25, 'size': {'h': 10, 'w': 15.25, 'uom': 'cm'}, 'status': 'A'}----------------------添加过滤多条删除---------------------------------------------------------------
有多少条数据被删除: 2 条
----------------------------------查询所有文档记录---------------------------------
文档记录ID:652014d52d8e41294ac7360f , 文档记录数据: {'_id': ObjectId('652014d52d8e41294ac7360f'), 'name': 'notebook', 'weight': 500, 'size': {'h': 8.5, 'w': 11, 'uom': 'in'}, 'status': 'P'}
文档记录ID:652014d52d8e41294ac73611 , 文档记录数据: {'_id': ObjectId('652014d52d8e41294ac73611'), 'name': 'planner', 'weight': 750, 'size': {'h': 22.85, 'w': 30, 'uom': 'cm'}, 'status': 'D'}
文档记录ID:6520160ac1fa41f534ddc67c , 文档记录数据: {'_id': ObjectId('6520160ac1fa41f534ddc67c'), 'name': 'notebook', 'weight': 500, 'size': {'h': 8.5, 'w': 11, 'uom': 'in'}, 'status': 'P'}
文档记录ID:6520160ac1fa41f534ddc67d , 文档记录数据: {'_id': ObjectId('6520160ac1fa41f534ddc67d'), 'name': 'paper', 'weight': 400, 'size': {'h': 8.5, 'w': 11, 'uom': 'in'}, 'status': 'D'}
文档记录ID:6520160ac1fa41f534ddc67e , 文档记录数据: {'_id': ObjectId('6520160ac1fa41f534ddc67e'), 'name': 'planner', 'weight': 750, 'size': {'h': 22.85, 'w': 30, 'uom': 'cm'}, 'status': 'D'}
文档记录ID:6520162d80a6a1bff0ec87b8 , 文档记录数据: {'_id': ObjectId('6520162d80a6a1bff0ec87b8'), 'name': 'notebook', 'weight': 500, 'size': {'h': 8.5, 'w': 11, 'uom': 'in'}, 'status': 'P'}
文档记录ID:6520162d80a6a1bff0ec87b9 , 文档记录数据: {'_id': ObjectId('6520162d80a6a1bff0ec87b9'), 'name': 'paper', 'weight': 400, 'size': {'h': 8.5, 'w': 11, 'uom': 'in'}, 'status': 'D'}
文档记录ID:6520162d80a6a1bff0ec87ba , 文档记录数据: {'_id': ObjectId('6520162d80a6a1bff0ec87ba'), 'name': 'planner', 'weight': 750, 'size': {'h': 22.85, 'w': 30, 'uom': 'cm'}, 'status': 'D'}
文档记录ID:6520167f9468f606470b7677 , 文档记录数据: {'_id': ObjectId('6520167f9468f606470b7677'), 'name': 'notebook', 'weight': 500, 'size': {'h': 8.5, 'w': 11, 'uom': 'in'}, 'status': 'P'}
文档记录ID:6520167f9468f606470b7678 , 文档记录数据: {'_id': ObjectId('6520167f9468f606470b7678'), 'name': 'paper', 'weight': 400, 'size': {'h': 8.5, 'w': 11, 'uom': 'in'}, 'status': 'D'}
文档记录ID:6520167f9468f606470b7679 , 文档记录数据: {'_id': ObjectId('6520167f9468f606470b7679'), 'name': 'planner', 'weight': 750, 'size': {'h': 22.85, 'w': 30, 'uom': 'cm'}, 'status': 'D'}
文档记录ID:652016909f062dbfebfe70bf , 文档记录数据: {'_id': ObjectId('652016909f062dbfebfe70bf'), 'name': 'notebook', 'weight': 500, 'size': {'h': 8.5, 'w': 11, 'uom': 'in'}, 'status': 'P'}
文档记录ID:652016909f062dbfebfe70c0 , 文档记录数据: {'_id': ObjectId('652016909f062dbfebfe70c0'), 'name': 'paper', 'weight': 400, 'size': {'h': 8.5, 'w': 11, 'uom': 'in'}, 'status': 'D'}
文档记录ID:652016909f062dbfebfe70c1 , 文档记录数据: {'_id': ObjectId('652016909f062dbfebfe70c1'), 'name': 'planner', 'weight': 750, 'size': {'h': 22.85, 'w': 30, 'uom': 'cm'}, 'status': 'D'}
文档记录ID:652017151cf24b4169cfd0ba , 文档记录数据: {'_id': ObjectId('652017151cf24b4169cfd0ba'), 'name': 'notebook', 'weight': 500, 'size': {'h': 8.5, 'w': 11, 'uom': 'in'}, 'status': 'P'}
文档记录ID:652017151cf24b4169cfd0bb , 文档记录数据: {'_id': ObjectId('652017151cf24b4169cfd0bb'), 'name': 'paper', 'weight': 400, 'size': {'h': 8.5, 'w': 11, 'uom': 'in'}, 'status': 'D'}
文档记录ID:652017151cf24b4169cfd0bc , 文档记录数据: {'_id': ObjectId('652017151cf24b4169cfd0bc'), 'name': 'planner', 'weight': 750, 'size': {'h': 22.85, 'w': 30, 'uom': 'cm'}, 'status': 'D'}
文档记录ID:65201789ca4dfc62a0ae8e83 , 文档记录数据: {'_id': ObjectId('65201789ca4dfc62a0ae8e83'), 'name': 'notebook', 'weight': 500, 'size': {'h': 8.5, 'w': 11, 'uom': 'in'}, 'status': 'P'}
文档记录ID:65201789ca4dfc62a0ae8e84 , 文档记录数据: {'_id': ObjectId('65201789ca4dfc62a0ae8e84'), 'name': 'paper', 'weight': 400, 'size': {'h': 8.5, 'w': 11, 'uom': 'in'}, 'status': 'D'}
文档记录ID:65201789ca4dfc62a0ae8e85 , 文档记录数据: {'_id': ObjectId('65201789ca4dfc62a0ae8e85'), 'name': 'planner', 'weight': 750, 'size': {'h': 22.85, 'w': 30, 'uom': 'cm'}, 'status': 'D'}
删除发生在那张表: inventory删除单条记录
删除的影响数: 1----------------------------删除所有的记录------------------------------
删除文档记录影响的条数: 19Process finished with exit code 0
七:CRUD数据库|数据存储概况