【Python数据库】MongoDB

### 文章目录

  • [@[toc]](#文章目录 @[toc] 数据插入 数据查询 数据更新 数据删除)
  • [数据插入](#文章目录 @[toc] 数据插入 数据查询 数据更新 数据删除)
  • [数据查询](#文章目录 @[toc] 数据插入 数据查询 数据更新 数据删除)
  • [数据更新](#文章目录 @[toc] 数据插入 数据查询 数据更新 数据删除)
  • [数据删除](#文章目录 @[toc] 数据插入 数据查询 数据更新 数据删除)

个人主页:丷从心·

系列专栏:Python数据库

学习指南:Python学习指南


数据插入

python 复制代码
from pymongo import MongoClient


def insert_data():
    mongo_client = MongoClient(host='localhost', port=27017)
    collection = mongo_client['python_database']['book_info']

    try:
        collection.insert_many([{'id': 1, 'name': '射雕英雄传', 'pub_date': '1980-5-1', 'read_count': 12,
                                 'comment_count': 34, 'is_delete': 0},
                                {'id': 2, 'name': '天龙八部', 'pub_date': '1986-7-24', 'read_count': 36,
                                 'comment_count': 40, 'is_delete': 0},
                                {'id': 3, 'name': '笑傲江湖', 'pub_date': '1995-12-24', 'read_count': 20,
                                 'comment_count': 80, 'is_delete': 0},
                                {'id': 4, 'name': '雪山飞狐', 'pub_date': '1987-11-11', 'read_count': 58,
                                 'comment_count': 24, 'is_delete': 0}])
    except Exception as e:
        print(f'数据插入失败: {e}')
    else:
        print('数据插入成功...')


if __name__ == '__main__':
    insert_data()
  • mongo_client = MongoClient(host='localhost', port=27017)用于连接数据库

    • host用于指定数据库IP地址,localhost表示本地
    • port用于指定数据库端口
  • collection = mongo_client['python_database']['book_info']用于指定数据库和数据集合

    • 'python_database'是指定的数据库
    • 'book_info'是指定的数据集合
  • collection.insert_many()用于插入多条数据


数据查询

python 复制代码
from pymongo import MongoClient


def query_data():
    mongo_client = MongoClient(host='localhost', port=27017)
    collection = mongo_client['python_database']['book_info']

    result = collection.find_one({'name': '射雕英雄传'})
    if result:
        print(result)
    else:
        print('数据不存在...')


if __name__ == '__main__':
    query_data()

数据更新

python 复制代码
from pymongo import MongoClient


def update_data():
    mongo_client = MongoClient(host='localhost', port=27017)
    collection = mongo_client['python_database']['book_info']

    collection.update_one({'name': '射雕英雄传'}, {'$set': {'is_delete': 1}})

    result = collection.find_one({'name': '射雕英雄传'})
    if result:
        print(result)
    else:
        print('数据不存在...')


if __name__ == '__main__':
    update_data()

数据删除

python 复制代码
from pymongo import MongoClient


def delete_data():
    mongo_client = MongoClient(host='localhost', port=27017)
    collection = mongo_client['python_database']['book_info']

    collection.delete_one({'name': '射雕英雄传'})

    result = collection.find()
    if result:
        for item in result:
            print(item)
    else:
        print('数据不存在...')


if __name__ == '__main__':
    delete_data()

相关推荐
wanderful_1 分钟前
自定义用户体系下 Django 业务模块开发踩坑与通用解决方案(技术分享版)
后端·python·django
纯.Pure_Jin(g)3 分钟前
【Python练习五】Python 正则与网络爬虫实战:专项练习(2道经典练习带你巩固基础——看完包会)
开发语言·vscode·python
喵手4 分钟前
Python爬虫实战:招聘会参会企业数据采集实战 - 分页抓取、去重与增量更新完整方案(附CSV导出 + SQLite持久化存储)!
爬虫·python·爬虫实战·增量·零基础python爬虫教学·招聘会参会企业数据采集·分页抓取去重
eWidget6 分钟前
核心业务系统国产化:如何实现 Oracle 逻辑的“零损耗”平移与性能重构?
数据库·oracle·重构·kingbase·数据库平替用金仓·金仓数据库
NGC_66119 分钟前
Mybatis处理流程
数据库·oracle·mybatis
李斯啦果15 分钟前
【MySQL】数据库增删查改
数据库·mysql
小鸡吃米…16 分钟前
TensorFlow 实现循环神经网络
人工智能·python·tensorflow
此生只爱蛋17 分钟前
【Redis】集群(Cluster)
数据库·redis
阿钱真强道19 分钟前
14 ThingsBoard实战:从零搭建设备配置+设备,完成MQTT温湿度上行/目标温度下行测试(对比JetLinks)
java·网络·python·网络协议
ssswywywht20 分钟前
python练习
开发语言·python