python操作MongoDB常用功能如:增、删、改、查、排序数据操作的代码详解
#!/usr/bin/env python# -*- coding: utf-8 -*-# @Author : Benjamin# @Time: 2019/8/7 21:02import pymongomyclient = pymongo.MongoClient("mongodb://192.168.230.129:27017/")# 获取库列表名称,以数组格式展示...
·
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author : Benjamin
# @Time : 2019/8/7 21:02
import pymongo
myclient = pymongo.MongoClient("mongodb://192.168.230.129:27017/")
# 获取库列表名称,以数组格式展示
# dblist = myclient.list_database_names()
# print(dblist)
# if "benjamin" in dblist:
# print("数据库已存在!")
# else:
# print("不存在")
# 操作选择某一个数据库,查看是否存在某个集合
# mydb = myclient["benjamin"]
# collist = mydb.list_collection_names()
# print(collist)
# if "sites" in collist: # 判断 sites 集合是否存在
# print("集合已存在!")
# 创建数据库或集合,需要有数据才能查询到对应的数据
# 增
# 选择某个数据库后,操作集合并插入数据
# mydb = myclient["benjamin"]
# mycol = mydb["sites"]
# mydict = {"name": "RUNOOB", "alexa": "10000", "url": "https://www.runoob.com"}
# x = mycol.insert_one(mydict)
# print(x)
# # 插入单条数据后并返回数据的id
# print(x.inserted_id)
# 选择某个数据库后,操作集合并插入多个数据
# mydb = myclient["benjamin"]
# mycol = mydb["sites"]
# mylist = [
# { "name": "Taobao", "alexa": "100", "url": "https://www.taobao.com" },
# { "name": "QQ", "alexa": "101", "url": "https://www.qq.com" },
# { "name": "Facebook", "alexa": "10", "url": "https://www.facebook.com" },
# { "name": "知乎", "alexa": "103", "url": "https://www.zhihu.com" },
# { "name": "Github", "alexa": "109", "url": "https://www.github.com" }
# ]
# x = mycol.insert_many(mylist)
# # 插入多条数据后并返回数据的id
# print(x.inserted_ids)
# 选择某个数据库后,操作集合并插入多个指定_id数据
# mydb = myclient["benjamin"]
# mycol = mydb["sites"]
# mylist = [
# { "_id": 1, "name": "RUNOOB", "cn_name": "菜鸟教程"},
# { "_id": 2, "name": "Google", "address": "Google 搜索"},
# { "_id": 3, "name": "Facebook", "address": "脸书"},
# { "_id": 4, "name": "Taobao", "address": "淘宝"},
# { "_id": 5, "name": "Zhihu", "address": "知乎"}
# ]
# x = mycol.insert_many(mylist)
# # 插入多条数据后并返回数据的id
# print(x.inserted_ids)
# 查
# 查询指定集合中的一条数据
# mydb = myclient["benjamin"]
# mycol = mydb["sites"]
# x = mycol.find_one()
# print(x)
# 查询指定集合中的所有数据
# mydb = myclient["benjamin"]
# mycol = mydb["sites"]
# for x in mycol.find():
# print(x)
# 查询指定集合中的指定字段数据,俗称指定列中有数据的字段
# mydb = myclient["benjamin"]
# mycol = mydb["sites"]
# for x in mycol.find({},{ "_id": 0, "name": 1, "alexa": 1 }):
# print(x)
# 若_id为1,则除了alexa字段外其他都返回,仅有_id可为0、1,其他字段不能否则异常
# for x in mycol.find({},{ "alexa": 0 }):
# print(x)
# 查询指定集合中,指定符合name名称的数据
# mydb = myclient["benjamin"]
# mycol = mydb["sites"]
# myquery = { "name": "shit" }
# mydoc = mycol.find(myquery)
# for x in mydoc:
# print(x)
# 支持正则表达式、首字母大于等方式查询
# 查询指定集合中,指定条数记录
# mydb = myclient["benjamin"]
# mycol = mydb["sites"]
# myresult = mycol.find().limit(3)
# print(myresult)
# for x in myresult:
# print(x)
# 改
# 修改指定集合中的符合某数据的第一条数据
# mydb = myclient["benjamin"]
# mycol = mydb["sites"]
# myquery = { "alexa": "10000" } # 查询条件
# newvalues = { "$set": { "alexa": "12345" } } # 修改目标值
# mycol.update_one(myquery,newvalues) # 修改一条的数据,即第一条数据
# # 打印所有集合的数据
# for x in mycol.find():
# print(x)
# 修改指定集合中的符合某数据的全部数据
# mydb = myclient["benjamin"]
# mycol = mydb["sites"]
# myquery = { "name": { "$regex":"^F" } } # 正则查询条件
# newvalues = { "$set": { "alexa": "123" } }
# x = mycol.update_many(myquery,newvalues)
# print(x.modified_count,"文档已修改")
# 排序
# 查询指定集合中的所有数据后排序
# mydb = myclient["benjamin"]
# mycol = mydb["sites"]
# # mydoc = mycol.find().sort("alexa") # 默认为升序排列
# mydoc = mycol.find().sort("alexa",-1) # 按照降序排列
# # 为空的数据最小,默认排在最前或最后
# for x in mydoc:
# print(x)
# 删
# 删除集合中的符合某字段数据的第一条数据
# mydb = myclient["benjamin"]
# mycol = mydb["sites"]
# myquery = {"name":"Taobao"}
# mycol.delete_one(myquery)
# # 删除后符合条件的第一条数据后,输出集合中的所有数据
# for x in mycol.find():
# print(x)
# 删除集合中的符合某字段数据的所有数据
# mydb = myclient["benjamin"]
# mycol = mydb["sites"]
# myquery = {"name":{"$regex":"^F"}} # 正则匹配查找数据
# x = mycol.delete_many(myquery) # 删除符合条件的所有数据
# print(x.deleted_count,"个文档已删除")
# 删除集合中的所有数据
# mydb = myclient["benjamin"]
# mycol = mydb["conllectionName"]
# x = mycol.delete_many({})
# print(x.deleted_count, "个文档已删除")
# 删除指定集合
# mydb = myclient["benjamin"]
# mycol = mydb["conllectionName"]
# mycol.drop()
更多推荐
所有评论(0)