• Python3操作MongoDb7最新版创建文档及CRUD基本操作



    Python3中类的高级语法及实战

    Python3(基础|高级)语法实战(|多线程|多进程|线程池|进程池技术)|多线程安全问题解决方案

    Python3数据科学包系列(一):数据分析实战

    Python3数据科学包系列(二):数据分析实战

    Python3数据科学包系列(三):数据分析实战

    Win11查看安装的Python路径及安装的库

    Python PEP8 代码规范常见问题及解决方案

    Python3操作MySQL8.XX创建表|CRUD基本操作

    Python3操作SQLite3创建表主键自增长|CRUD基本操作

    anaconda3最新版安装|使用详情|Error: Please select a valid Python interpreter

    Python函数绘图与高等代数互融实例(一):正弦函数与余弦函数

    Python函数绘图与高等代数互融实例(二):闪点函数

    Python函数绘图与高等代数互融实例(三):设置X|Y轴|网格线

    Python函数绘图与高等代数互融实例(四):设置X|Y轴参考线|参考区域

    Python函数绘图与高等代数互融实例(五): 则线图综合案例

    Python3操作MongoDb7最新版创建文档及CRUD基本操作

    Centos7安装MongoDB7.xxNoSQL数据库|设置开机启动(骨灰级+保姆级) 

    Mongodb7启动报错排除解决方案

    Centos7安装Redis7.x最新稳定版|配置开机启动(骨灰级|保姆级)​​​​​​​




    高效开发认知升维:

    (1) 当前安装的版本,选择对应的版本的文档,本人安装的是最新版: db version v7.1.0-rc4

    MongoDB 开发文档手册

     跳转值详细页面如下图所示

     选择码农比较关注的CRUD与当前使用的开发语言(此处,开发语言选择Python)


    MongoDB 操作手册----文档在手,啥都有

    Mongodb7最新版本文档CRUD

    一: 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:
    逻辑与操作and
    {'_id': ObjectId('651fafe576635cb7daaaa426'), 'author': '老许', 'age': 150, 'text': '房地产大亨!', 'tags': ['入门房地产', '节制扩张', '适中拓展', '快速扩张', '无节制扩张', '一丘之貉', '落网入狱'], 'date': datetime.datetime(2023, 10, 6, 6, 57, 41, 497000)}

    -----------------------------------------------查询作者为老杨的记录----------------------------------- 

    记录类型: : 文档里面的每条记录: {'_id': ObjectId('651fafe576635cb7daaaa423'), 'author': '老杨', 'age': 20, 'text': '我的乖乖!', 'tags': ['爬虫实战', 'python3', 'C入门到放弃', 'java入门到放弃', '网络黑客'], 'date': datetime.datetime(2023, 10, 6, 6, 57, 41, 497000)}
    记录类型: : 文档里面的每条记录: {'_id': ObjectId('651fb094b0b7ec272738b8a0'), 'author': '老杨', 'age': 50, 'text': '我的乖乖!', 'tags': ['爬虫实战', 'python3', 'C入门到放弃', 'java入门到放弃', '网络黑客'], 'date': datetime.datetime(2023, 10, 6, 7, 0, 36, 217000)}
    记录类型: : 文档里面的每条记录: {'_id': ObjectId('651fb12f2997663e72d0b67c'), 'author': '老杨', 'age': 50, 'text': '我的乖乖!', 'tags': ['爬虫实战', 'python3', 'C入门到放弃', 'java入门到放弃', '网络黑客'], 'date': datetime.datetime(2023, 10, 6, 7, 3, 11, 510000)}
    ------------------------------------------------查询所有--------------------------------------------

    记录类型: : 文档里面的每条记录: {'_id': ObjectId('651fafe576635cb7daaaa423'), 'author': '老杨', 'age': 20, 'text': '我的乖乖!', 'tags': ['爬虫实战', 'python3', 'C入门到放弃', 'java入门到放弃', '网络黑客'], 'date': datetime.datetime(2023, 10, 6, 6, 57, 41, 497000)}
    记录类型: : 文档里面的每条记录: {'_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)}
    记录类型: : 文档里面的每条记录: {'_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)}
    记录类型: : 文档里面的每条记录: {'_id': ObjectId('651fafe576635cb7daaaa426'), 'author': '老许', 'age': 150, 'text': '房地产大亨!', 'tags': ['入门房地产', '节制扩张', '适中拓展', '快速扩张', '无节制扩张', '一丘之貉', '落网入狱'], 'date': datetime.datetime(2023, 10, 6, 6, 57, 41, 497000)}
    记录类型: : 文档里面的每条记录: {'_id': ObjectId('651fb01d61245287e271230d'), 'author': '老杨1', 'age': 30, 'text': '我的乖乖!', 'tags': ['爬虫实战', 'python3', 'C入门到放弃', 'java入门到放弃', '网络黑客'], 'date': datetime.datetime(2023, 10, 6, 6, 58, 37, 159000)}
    记录类型: : 文档里面的每条记录: {'_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)}
    记录类型: : 文档里面的每条记录: {'_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)}
    记录类型: : 文档里面的每条记录: {'_id': ObjectId('651fb01d61245287e2712310'), 'author': '老许1', 'age': 250, 'text': '房地产大亨!', 'tags': ['入门房地产', '节制扩张', '适中拓展', '快速扩张', '无节制扩张', '一丘之貉', '落网入狱'], 'date': datetime.datetime(2023, 10, 6, 6, 58, 37, 159000)}
    记录类型: : 文档里面的每条记录: {'_id': ObjectId('651fb041b9d2621c622cc212'), 'author': '老杨2', 'age': 30, 'text': '我的乖乖!', 'tags': ['爬虫实战', 'python3', 'C入门到放弃', 'java入门到放弃', '网络黑客'], 'date': datetime.datetime(2023, 10, 6, 6, 59, 13, 781000)}
    记录类型: : 文档里面的每条记录: {'_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)}
    记录类型: : 文档里面的每条记录: {'_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)}
    记录类型: : 文档里面的每条记录: {'_id': ObjectId('651fb041b9d2621c622cc215'), 'author': '老许2', 'age': 100, 'text': '房地产大亨!', 'tags': ['入门房地产', '节制扩张', '适中拓展', '快速扩张', '无节制扩张', '一丘之貉', '落网入狱'], 'date': datetime.datetime(2023, 10, 6, 6, 59, 13, 781000)}
    记录类型: : 文档里面的每条记录: {'_id': ObjectId('651fb046e6b4f0d2f8776de3'), 'author': '老杨2', 'age': 30, 'text': '我的乖乖!', 'tags': ['爬虫实战', 'python3', 'C入门到放弃', 'java入门到放弃', '网络黑客'], 'date': datetime.datetime(2023, 10, 6, 6, 59, 18, 289000)}
    记录类型: : 文档里面的每条记录: {'_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)}
    记录类型: : 文档里面的每条记录: {'_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)}
    记录类型: : 文档里面的每条记录: {'_id': ObjectId('651fb046e6b4f0d2f8776de6'), 'author': '老许2', 'age': 100, 'text': '房地产大亨!', 'tags': ['入门房地产', '节制扩张', '适中拓展', '快速扩张', '无节制扩张', '一丘之貉', '落网入狱'], 'date': datetime.datetime(2023, 10, 6, 6, 59, 18, 289000)}
    记录类型: : 文档里面的每条记录: {'_id': ObjectId('651fb094b0b7ec272738b8a0'), 'author': '老杨', 'age': 50, 'text': '我的乖乖!', 'tags': ['爬虫实战', 'python3', 'C入门到放弃', 'java入门到放弃', '网络黑客'], 'date': datetime.datetime(2023, 10, 6, 7, 0, 36, 217000)}
    记录类型: : 文档里面的每条记录: {'_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)}
    记录类型: : 文档里面的每条记录: {'_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)}
    记录类型: : 文档里面的每条记录: {'_id': ObjectId('651fb094b0b7ec272738b8a3'), 'author': '老许', 'age': 90, 'text': '房地产大亨!', 'tags': ['入门房地产', '节制扩张', '适中拓展', '快速扩张', '无节制扩张', '一丘之貉', '落网入狱'], 'date': datetime.datetime(2023, 10, 6, 7, 0, 36, 217000)}
    记录类型: : 文档里面的每条记录: {'_id': ObjectId('651fb12f2997663e72d0b67c'), 'author': '老杨', 'age': 50, 'text': '我的乖乖!', 'tags': ['爬虫实战', 'python3', 'C入门到放弃', 'java入门到放弃', '网络黑客'], 'date': datetime.datetime(2023, 10, 6, 7, 3, 11, 510000)}
    记录类型: : 文档里面的每条记录: {'_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)}
    记录类型: : 文档里面的每条记录: {'_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)}
    记录类型: : 文档里面的每条记录: {'_id': ObjectId('651fb12f2997663e72d0b67f'), 'author': '老许', 'age': 90, 'text': '房地产大亨!', 'tags': ['入门房地产', '节制扩张', '适中拓展', '快速扩张', '无节制扩张', '一丘之貉', '落网入狱'], 'date': datetime.datetime(2023, 10, 6, 7, 3, 11, 510000)}


    -----------------------------------逻辑与查询(And)--------------------------------------------------
    记录类型: : 文档里面的每条记录: {'_id': ObjectId('651fb094b0b7ec272738b8a0'), 'author': '老杨', 'age': 50, 'text': '我的乖乖!', 'tags': ['爬虫实战', 'python3', 'C入门到放弃', 'java入门到放弃', '网络黑客'], 'date': datetime.datetime(2023, 10, 6, 7, 0, 36, 217000)}
    记录类型: : 文档里面的每条记录: {'_id': ObjectId('651fb12f2997663e72d0b67c'), 'author': '老杨', 'age': 50, 'text': '我的乖乖!', 'tags': ['爬虫实战', 'python3', 'C入门到放弃', 'java入门到放弃', '网络黑客'], 'date': datetime.datetime(2023, 10, 6, 7, 3, 11, 510000)}

    ----------通配符$all匹配域的值为集合的文档记录;配置tags的值包含[网络修理工 python胶水语言]的文档----------
    记录类型: : 文档里面的每条记录: {'_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)}
    记录类型: : 文档里面的每条记录: {'_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)}
    记录类型: : 文档里面的每条记录: {'_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)}
    记录类型: : 文档里面的每条记录: {'_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)}
    记录类型: : 文档里面的每条记录: {'_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)}
    记录类型: : 文档里面的每条记录: {'_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的文档----------------------------
    记录类型: : 文档里面的每条记录: {'_id': ObjectId('651fafe576635cb7daaaa426'), 'author': '老许', 'age': 150, 'text': '房地产大亨!', 'tags': ['入门房地产', '节制扩张', '适中拓展', '快速扩张', '无节制扩张', '一丘之貉', '落网入狱'], 'date': datetime.datetime(2023, 10, 6, 6, 57, 41, 497000)}
    记录类型: : 文档里面的每条记录: {'_id': ObjectId('651fb01d61245287e2712310'), 'author': '老许1', 'age': 250, 'text': '房地产大亨!', 'tags': ['入门房地产', '节制扩张', '适中拓展', '快速扩张', '无节制扩张', '一丘之貉', '落网入狱'], 'date': datetime.datetime(2023, 10, 6, 6, 58, 37, 159000)}

    -----------------------------age大于15 | age 小于50------------------------------------
    记录类型: : 文档里面的每条记录: {'_id': ObjectId('651fafe576635cb7daaaa423'), 'author': '老杨', 'age': 20, 'text': '我的乖乖!', 'tags': ['爬虫实战', 'python3', 'C入门到放弃', 'java入门到放弃', '网络黑客'], 'date': datetime.datetime(2023, 10, 6, 6, 57, 41, 497000)}
    记录类型: : 文档里面的每条记录: {'_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)}
    记录类型: : 文档里面的每条记录: {'_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)}
    记录类型: : 文档里面的每条记录: {'_id': ObjectId('651fb01d61245287e271230d'), 'author': '老杨1', 'age': 30, 'text': '我的乖乖!', 'tags': ['爬虫实战', 'python3', 'C入门到放弃', 'java入门到放弃', '网络黑客'], 'date': datetime.datetime(2023, 10, 6, 6, 58, 37, 159000)}
    记录类型: : 文档里面的每条记录: {'_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)}
    记录类型: : 文档里面的每条记录: {'_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)}
    记录类型: : 文档里面的每条记录: {'_id': ObjectId('651fb041b9d2621c622cc212'), 'author': '老杨2', 'age': 30, 'text': '我的乖乖!', 'tags': ['爬虫实战', 'python3', 'C入门到放弃', 'java入门到放弃', '网络黑客'], 'date': datetime.datetime(2023, 10, 6, 6, 59, 13, 781000)}
    记录类型: : 文档里面的每条记录: {'_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)}
    记录类型: : 文档里面的每条记录: {'_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)}
    记录类型: : 文档里面的每条记录: {'_id': ObjectId('651fb046e6b4f0d2f8776de3'), 'author': '老杨2', 'age': 30, 'text': '我的乖乖!', 'tags': ['爬虫实战', 'python3', 'C入门到放弃', 'java入门到放弃', '网络黑客'], 'date': datetime.datetime(2023, 10, 6, 6, 59, 18, 289000)}
    记录类型: : 文档里面的每条记录: {'_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)}
    记录类型: : 文档里面的每条记录: {'_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)}
    记录类型: : 文档里面的每条记录: {'_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)}
    记录类型: : 文档里面的每条记录: {'_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
     


    更加详细查询查看官网: 

    Mongodb Query 详细查询文档

    五: 更新记录

    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

    记录类型: : 文档里面的每条记录: {'_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)}
    记录类型: : 文档里面的每条记录: {'_id': ObjectId('651fb094b0b7ec272738b8a0'), 'author': '老杨', 'age': 50, 'text': '我的乖乖!', 'tags': ['爬虫实战', 'python3', 'C入门到放弃', 'java入门到放弃', '网络黑客'], 'date': datetime.datetime(2023, 10, 6, 7, 0, 36, 217000)}
    记录类型: : 文档里面的每条记录: {'_id': ObjectId('651fb12f2997663e72d0b67c'), 'author': '老杨', 'age': 50, 'text': '我的乖乖!', 'tags': ['爬虫实战', 'python3', 'C入门到放弃', 'java入门到放弃', '网络黑客'], 'date': datetime.datetime(2023, 10, 6, 7, 3, 11, 510000)}

    --------------------------批量修改-----------------------------
    batchUpdateResult(受影响的行数):  1
    记录类型: : 文档里面的每条记录: {'_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

    ----------------------------删除所有的记录------------------------------
    删除文档记录影响的条数: 19

    Process finished with exit code 0
     


    详细删除查看官方文档


    七:CRUD数据库|数据存储概况



     

  • 相关阅读:
    记一次To B开发普通的性能优化历程......报表优化
    Python常用库(六):科学计算库-Numpy[上篇]:创建、访问、赋值
    MyBatis环境配置及查询操作
    C++ 之 constexpr详解
    Contention Based Energy Efficient Wireless Sensor Network – A survey
    【数据结构】—— 二叉树(C)
    解决matlab报错“输入参数的数目不足”
    题目0010:整数转二进制(附二进制转整数与字符串知识点)
    硬件设计电源系列文章-DCDC转换器布局设计
    hdfs 副本放置策略及快照功能简介
  • 原文地址:https://blog.csdn.net/u014635374/article/details/133578964