Wang's blog Wang's blog
首页
  • 前端文章

    • HTML教程
    • CSS
    • JavaScript
  • 前端框架

    • Vue
    • React
    • VuePress
    • Electron
  • 后端技术

    • Npm
    • Node
    • TypeScript
  • 编程规范

    • 规范
  • 我的笔记
  • Git
  • GitHub
  • VSCode
  • Mac工具
  • 数据库
  • Google
  • 服务器
  • Python爬虫
  • 前端教程
更多
收藏
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Wang Mings

跟随大神,成为大神!
首页
  • 前端文章

    • HTML教程
    • CSS
    • JavaScript
  • 前端框架

    • Vue
    • React
    • VuePress
    • Electron
  • 后端技术

    • Npm
    • Node
    • TypeScript
  • 编程规范

    • 规范
  • 我的笔记
  • Git
  • GitHub
  • VSCode
  • Mac工具
  • 数据库
  • Google
  • 服务器
  • Python爬虫
  • 前端教程
更多
收藏
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • Python爬虫

    • 爬虫的基础知识

    • 请求的发送方法

    • 数据提取方法

    • 高性能爬虫

    • selenium

    • 反爬以及解决方案

    • MONGODB数据库

      • mongodb的介绍和安装
      • mongodb的权限管理
      • mongodb的入门使用
      • mongodb的聚合操作
      • mongodb的索引
      • mongodb的备份恢复与导入导出
      • mongodb和python交互
        • mongodb和python交互
          • 学习目标
          • 1 mongdb和python交互的模块
          • 2 使用pymongo
          • 2.1 导入pymongo并选择要操作的集合
          • 2.2 添加数据
          • 2.3 添加一条数据
          • 2.4 添加多条数据
          • 2.5 查找一条数据
          • 2.6 查找全部数据
          • 2.7 更新一条数据\(全文档覆盖更新一条或多条\)
          • 2.8 更新一条数据\(指定键值更新一条或多条\)
          • 2.9 更新一条数据
          • 2.10 更行全部数据
          • 2.11 插入更新数据
          • 2.12 删除一条数据
          • 2.13 删除全部数据
          • 3 动手练习
          • 参考代码
          • 小结
      • 小结
    • scrapy框架

    • scrapy_redis

    • 爬虫的部署

    • 爬虫框架开发分析

    • 框架雏形实现

    • 框架功能完善

    • 框架功能升级

    • 项目实战

    • pywin32介绍

  • 前端教程

  • 教程
  • Python爬虫
  • MONGODB数据库
wangmings
2022-07-19
目录

mongodb和python交互

# mongodb和python交互

# 学习目标

掌握 mongdb和python交互的增删改查的方法


# 1 mongdb和python交互的模块

pymongo 提供了mongdb和python交互的所有方法 安装方式: pip install pymongo

# 2 使用pymongo

# 2.1 导入pymongo并选择要操作的集合

数据库和集合会自动创建

from pymongo import MongoClient
client = MongoClient(host,port)
collection = client[db名][集合名] 
1
2
3

# 2.2 添加数据

insert可以批量的插入数据列表,也可以插入一条数据

collection.insert([{"name":"test10010","age":33},{"name":"test10011","age":34}]/{"name":"test10010","age":33}) 
1

# 2.3 添加一条数据

ret = collection.insert_one({"name":"test10010","age":33})
print(ret) 
1
2

# 2.4 添加多条数据

item_list = [{"name":"test1000{}".format(i)} for i in range(10)]
#insert_many接收一个列表,列表中为所有需要插入的字典
t = collection.insert_many(item_list) 
1
2
3

# 2.5 查找一条数据

#find_one查找并且返回一个结果,接收一个字典形式的条件
t = collection.find_one({"name":"test10005"})
print(t) 
1
2
3

# 2.6 查找全部数据

结果是一个Cursor游标对象,是一个可迭代对象,可以类似读文件的指针,但是只能够进行一次读取

#find返回所有满足条件的结果,如果条件为空,则返回数据库的所有
t = collection.find({"name":"test10005"})
#结果是一个Cursor游标对象,是一个可迭代对象,可以类似读文件的指针,
for i in t:
    print(i)
for i in t: #此时t中没有内容
    print(i) 
1
2
3
4
5
6
7

# 2.7 更新一条数据(全文档覆盖更新一条或多条)

#update_one更新一条数据
collection.update({"name":"test10005"},{"name":"new_test10005"},multi=True/False) 
1
2

# 2.8 更新一条数据(指定键值更新一条或多条)

注意使用$set命令

#update_one更新一条数据
collection.update({"name":"test10005"},{"$set":{"name":"new_test10005"}},multi=True/False) 
1
2

# 2.9 更新一条数据

注意使用$set命令

#update_one更新一条数据
collection.update_one({"name":"test10005"},{"$set":{"name":"new_test10005"}}) 
1
2

# 2.10 更行全部数据

# update_one更新全部数据
collection.update_many({"name":"test10005"},{"$set":{"name":"new_test10005"}}) 
1
2

# 2.11 插入更新数据

#update_one更新一条数据
collection.update({"name":"test10005"},{"$set":{"name":"new_test10005"}},upsert=True) 
1
2

先查询数据库中是否含有{"name":"test10005"}的数据,如果存在则{"name":"new_test10005"}进行修改,如果不存在则将{"name":"new_test10005"}插入到数据库

# 2.12 删除一条数据

#delete_one删除一条数据
collection.delete_one({"name":"test10010"}) 
1
2

# 2.13 删除全部数据

#delete_may删除所有满足条件的数据
collection.delete_many({"name":"test10010"}) 
1
2

pymongo模块使用截图(动手写一下!)

# 3 动手练习

# 参考代码
from pymongo import MongoClient

client = MongoClient() # 本机,参数可以不用写
collection = client['test1000']['t3']

temp_list = [{'_id':i, 'name':'py{}'.format(i)} for i in range(1000)]
ret = collection.insert_many(temp_list)
print(ret)

ret_list = list(collection.find())
ret = [i['name'] for i in ret_list if i['_id']%100 == 0 and i['_id'] != 0]
print(ret) 
1
2
3
4
5
6
7
8
9
10
11
12

# 小结

掌握pymongo的增删改查的使用

编辑 (opens new window)
mongodb的备份恢复与导入导出
小结

← mongodb的备份恢复与导入导出 小结→

最近更新
01
theme-vdoing-blog博客静态编译问题
09-16
02
搜索引擎
07-19
03
友情链接
07-19
更多文章>
Theme by Vdoing | Copyright © 2019-2022 Evan Xu | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式