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

2 使用pymongo 1. 导入pymongo并选择要操作的集合 数据库和集合乜有会自动创建 Port :27017 ```python from pymongo import MongoClient client = MongoClient(host,port) collection = client[db名][集合名] ``` 2. 添加数据 insert可以批量的插入数据列表,也可以插入一条数据 ```python collection.insert([{"name":"test10010","age":33},{"name":"test10011","age":34}]/{"name":"test10010","age":33}) ```

3. 添加一条数据 ret = collection.insert_one({"name":"test10010","age":33}) print(ret)

4. 添加多条数据 ```python item_list = [{"name":"test1000{}".format(i)} for i in range(10)] #insert_many接收一个列表,列表中为所有需要插入的字典 t = collection.insert_many(item_list) ```

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

6. 查找全部数据 结果是一个Cursor游标对象,是一个可迭代对象,可以类似读文件的指针,但是只能够进行一次读取 ```python #find返回所有满足条件的结果,如果条件为空,则返回数据库的所有 t = collection.find({"name":"test10005"}) #结果是一个Cursor游标对象,是一个可迭代对象,可以类似读文件的指针, for i in t: print(i) for i in t: #此时t中没有内容 print(i) ```

7. 更新一条数据(全文档覆盖更新一条或多条) ```python #update_one更新一条数据 collection.update({"name":"test10005"},{"name":"new_test10005"},multi=True/False) ```

8. 更新一条数据(指定键值更新一条或多条) 注意使用$set命令 ```python #update_one更新一条数据 collection.update({"name":"test10005"},{"$set":{"name":"new_test10005"}},multi=True/False) ```

9. 更新一条数据 注意使用$set命令 ```python #update_one更新一条数据 collection.update_one({"name":"test10005"},{"$set":{"name":"new_test10005"}}) ```

10. 更行全部数据 ```python # update_one更新全部数据 collection.update_many({"name":"test10005"},{"$set":{"name":"new_test10005"}}) ```

11. 插入更新数据 ```python #update_one更新一条数据 collection.update({"name":"test10005"},{"$set":{"name":"new_test10005"}},upsert=True) ``` 先查询数据库中是否含有{"name":"test10005"}的数据,如果存在则{"name":"new_test10005"}进行修改,如果不存在则将{"name":"new_test10005"}插入到数据库

12. 删除一条数据 ```python #delete_one删除一条数据 collection.delete_one({"name":"test10010"}) ```

13. 删除全部数据 ```python #delete_may删除所有满足条件的数据 collection.delete_many({"name":"test10010"}) ```

最新文章

  1. 返水bug-备用
  2. ADC
  3. java.net.SocketException: No buffer space available (maximum connections reached?): JVM_Bind
  4. Android自定义对话框(Dialog)位置,大小
  5. IT人的自我导向型学习:学习的4个层次
  6. POJ 3069 Saruman's Army(萨鲁曼军)
  7. 一起刑事案件法庭辩护 z
  8. if in hlsl
  9. 【转】所需即所获:像 IDE 一样使用 vim
  10. HDOJ-ACM1061(JAVA) Rightmost Digit
  11. "Storage Virtualization" VS "Software-Defined Storage"
  12. win8系统intellij输入中文问题
  13. MINA2 源代码学习--源代码结构梳理
  14. Starting MySQL.. ERROR! The server quit without updating PID file (/usr/local/mysql/var/AYXXXXXXXXXXX.pid). 错误解决方法
  15. 第六章:3D向量类
  16. Algorithm --> n位数去掉k位后找最小数
  17. Thinkphp时间转换与统计的问题
  18. [CF963E]Circles of Waiting[高斯消元网格图优化+期望]
  19. POJ 1502 MPI Maelstrom / UVA 432 MPI Maelstrom / SCU 1068 MPI Maelstrom / UVALive 5398 MPI Maelstrom /ZOJ 1291 MPI Maelstrom (最短路径)
  20. day7 反射

热门文章

  1. 海量大数据大屏分析展示一步到位:DataWorks数据服务对接DataV最佳实践
  2. kubernetes学习01—kubernetes介绍
  3. 【Angular专题】——(2)【译】Angular中的ForwardRef
  4. Mysql中Count函数的正确使用
  5. static 静态与非静态的区别
  6. SpringMVC页面向Controller传参
  7. jsp基础语言-jsp声明
  8. HTTP与HTTPS介绍
  9. 如何为 .NET Core CLI 启用 TAB 自动补全功能
  10. Python HTML解析器BeautifulSoup(爬虫解析器)