当前位置:   article > 正文

python 之 MongoDB_python mongdb del

python mongdb del

一、pymongo安装

Python连接MongoDB需要MongoDB的驱动,使用pymongo驱动来连接。

1、使用pip来安装pymongo:

  1. $ python3 -m pip3 install pymongo
  2. #指定版本
  3. $ python3 -m pip3 install pymongo==3.5.1
  4. #更新pymongo命令
  5. $ python3 -m pip3 install --upgrade pymongo

2、easy_insatll安装

  1. $ python -m easy_install pymongo
  2. #更新
  3. $ python -m easy_install -U pymongo

执行结果:

 

二、创建数据库

创建数据库需要使用MongoClient对象,并指定连接的URL地址和要创建的数据库名。

实例:

  1. #连接mongodb
  2. myclient = pymongo.MongoClient("mongodb://localhost:27017")
  3. #创建数据库
  4. mydb = myclient["mydb"]

三、增、删、改、查等操作

1、增加数据

使用insert_one()和insert_many()函数实现集合数据的插入。

2、查询数据

使用find()和find_one()函数来查询数据库中的数据。

3、修改数据

使用update_one()和update_many()实现更新数据。

4、数据排序

使用sort()函数来对数据排序,1表示升级,-1表示降序。

5、删除数据

使用delete_one()和delete_many()来删除集合中的数据,drop()来删除集合

完整实例:

  1. import pymongo
  2. #1、连接mongodb
  3. myclient = pymongo.MongoClient("mongodb://localhost:27017")
  4. #2、创建数据库
  5. mydb = myclient["mydb"]
  6. #判断数据库是否存在
  7. dblist = myclient.list_database_names()
  8. if "mydb" in dblist:
  9. print("数据库已存在")
  10. #创建集合(表)
  11. mycol = mydb["my_col"]
  12. #判断集合是否存在
  13. collist = mydb.list_collection_names()
  14. if "my_col" in collist:
  15. print("集合已存在")
  16. #3、插入数据
  17. #插入单条文档数据
  18. mydict = {"name":"小明", "sex":"M", "grade":98}
  19. x = mycol.insert_one(mydict)
  20. print(x)
  21. #返回_id字段,即插入文档的属性ID值
  22. print(x.inserted_id)
  23. #插入多个文档对象
  24. mydictlist = [
  25. {"name":"小芳", "sex":"F", "grade":98},
  26. {"name":"小丽", "sex":"F", "grade":100},
  27. {"name":"小强", "sex":"M", "grade":59}
  28. ]
  29. y = mycol.insert_many(mydictlist)
  30. #输出所有文档的id值
  31. print(y.inserted_ids)
  32. #在终端输入命令查看数据是否插入成功
  33. #use mydb
  34. #db.my_col.find()
  35. #插入指定_id的多个文档
  36. mydictlist2 = [
  37. {"_id":1, "name":"小明", "sex":"M", "grade":98},
  38. {"_id":2, "name": "小芳", "sex": "F", "grade": 98},
  39. {"_id":3, "name": "小丽", "sex": "F", "grade": 100},
  40. {"_id":4, "name": "小强", "sex": "M", "grade": 59}
  41. ]
  42. z = mycol.insert_many(mydictlist2)
  43. print(z.inserted_ids)
  44. #4、查询
  45. #查询一条数据
  46. sel1 = mycol.find_one()
  47. #查询集合中所有数据
  48. for i in mycol.find():
  49. print(i)
  50. #查询指定字段的数据,find方法内的是查询条件,相当于SQL中select name,sex from my_col;
  51. #其中0为不返回显示,1为返回显示
  52. for i in mycol.find({}, {"_id": 0, "name": 1, "sex": 1}):
  53. print(i)
  54. #除了 _id,你不能在一个对象中同时指定 01,如果你设置了一个字段为 0,则其他都为 1,反之亦然
  55. #以下实例处理sex字段外,其他字段都返回
  56. for i in mycol.find({}, {"sex": 0}):
  57. print(i)
  58. #查询符合条件的数据,相当于select * from my_col where name="小明";
  59. myquery = {"name": "小明"}
  60. for i in mycol.find(myquery):
  61. print(i)
  62. #高级查询
  63. #相当于SQL:select * from my_col where grade>60 and grade<100;
  64. myquery1 = {"grade": {"$gt":60, "$lt":100}}
  65. for i in mycol.find(myquery1):
  66. print(i)
  67. #正则表达式查询 相当于:select * from my_col where sex = "%F";
  68. myquery2 = {"sex": {"$regex": "^F"}}
  69. for i in mycol.find(myquery2):
  70. print(i)
  71. #返回指定条数,相当于:select * from my_col limit 2;
  72. myresult = mycol.find().limit(2)
  73. for i in myresult:
  74. print(i)
  75. #5、更新数据
  76. #第一个参数为查询条件,第二个为修改的数据
  77. #更新一条数据
  78. myquery3 = {"name":"小明"}
  79. newvalues = {"$set": {"grade": 100}}
  80. mycol.update_one(myquery3, newvalues)
  81. for i in mycol.find:
  82. print(i)
  83. #更新多条数据
  84. myquery4 = {"sex": {"$regex": "^F"}}
  85. newvalues1 = {"$set": {"grade": 101}}
  86. x = mycol.update_many(myquery4, newvalues1)
  87. #modifed_count计算修改的条数
  88. print(x.modifed_count, "文档已修改")
  89. #6、数据排序
  90. #第一个参数为要排序的字段,第二个字段指定排序规则,1 为升序,-1 为降序,默认为升序。
  91. #按grade排序
  92. mydoc = mycol.find().sort("grade", -1)
  93. #7、删除数据
  94. #该方法第一个参数为查询对象,指定要删除哪些数据
  95. #删除一条数据,删除name为小明的数据
  96. mycol.delete_one(myquery3)
  97. #删除多条数据
  98. #删除所有匹配的数据
  99. mycol.delete_many(myquery4)
  100. #删除集合中所有文档
  101. mycol.delete_many({})
  102. #删除集合
  103. mycol.drop()

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号