Python驱动MongoDB示例PyMongo Demo

1-PyMongo Demo

参考文档:

https://www.runoob.com/python3/python-mongodb.html

https://cloud.tencent.com/developer/article/1571666

https://www.cnblogs.com/JansXin/p/7885767.html

1.1-创建库、集合

在 MongoDB 中,数据库只有在内容插入后才会创建! 就是说,数据库创建后要创建集合(数据表)并插入一个文档(记录),数据库才会真正创建。

在 MongoDB 中,集合只有在内容插入后才会创建! 就是说,创建集合(数据表)后要再插入一个文档(记录),集合才会真正创建。

import pymongo
# 创建客户端对象
mongo_client = pymongo.MongoClient('mongodb://127.0.0.1:27017')
# 创建数据库对象
db_obj = mongo_client['db_name']
# 查询所有数据库名称
db_names_list = mongo_client.list_database_names()
print(db_names_list)
# 创建集合对象
c_obj = db_obj['c_name']
# 查询某库中所有集合名称
c_names_list = db_obj.list_collection_names()
print(c_names_list)
# 删除集合
result = c.drop()  # 返回True 或 False
print(result)

1.2-增、删、改、查

1.2.1-插入文档

insert_one(),insert_many(),

import pymongo
mongo_client = pymongo.MongoClient('mongodb://127.0.0.1:27017')
db = mongo_client.db_name
c = db.c_name
# 插入一条文档
doc_obj = {'name': 'baidu'}
result = c.insert_one(doc_obj)  # 返回 InsertOneResult 对象
print(result.inserted_id)  # 插入文档的_id值
# 插入多条文档
doc_obj1 = {'name': 'google'}
doc_obj2 = {'name': 'firefox'}
doc_obj3 = {'name': '360'}
obj_list = [doc_obj1, doc_obj2, doc_obj3]
result = c.insert_many(obj_list)  # 返回 InsertManyResult 对象
print(result.inserted_ids)  # 插入文档的_id值的列表

1.2.2-查询文档

find(),find_one(),

import pymongo
mongo_client = pymongo.MongoClient('mongodb://127.0.0.1:27017')
db = mongo_client.db_name
c = db.c_name
# 查询一条文档
result = c.find_one()
print(type(result), result)
# 查询所有文档
result = c.find()  # 返回 Cursor 对象
# 指定条件查询
query = query1 = {'name': 'baidu'}
query = query2 = {'name': {'$ne': 'baidu'}}  # 运算符
query = query2 = {'name': {'$regex': '^f.*x$'}}  # 正则
result = c.find(query)
# 显示指定字段
# 显示设 1,不显设 0,除了 _id 不能在中同时指定 0 和 1
result = c.find({}, {'_id': 0, 'name': 1})

# 指定返回条数
result = c.find().limit(limit_num)
# 排序返回文档
# 默认为升序,1 为升序,-1 为降序
limit_num = 3
result = c.find().sort('name', -1) 
print(list(result))

1.2.3-更新 文档

update_one(),update_many(),

import pymongo
mongo_client = pymongo.MongoClient('mongodb://127.0.0.1:27017')
db = mongo_client.db_name
c = db.c_name
# 修改一条文档
query = {'name': 'baidu'}
modify = {'$set': {'name': 'Baidu'}}
result = c.update_one(query, modify)  # 返回 UpdateResult 对象
# 修改多条文档
query = {'name': {'$regex': '^goo'}}
modify = {'$set': {'name': 'Google'}}
result = c.update_many(query, modify)  # 返回 UpdateResult 对象

print(result.matched_count)  # 匹配文档的输量
print(result.modified_count)  # 修改文档的数量
print(result.upserted_id)  # 插入文档的_id值

1.2.4-删除文档

delete_one(),delete_many(),

import pymongo
mongo_client = pymongo.MongoClient('mongodb://127.0.0.1:27017')
db = mongo_client.db_name
c = db.c_name
# 删除一个文档
query = {'name': 'firefox'}
result = c.update_one(query, modify)  # 返回 DeleteResult 对象
# 删除多个文档
query = {'name': {'$regex': '^Bai'}}
result = c.delete_many(query)  # 返回 DeleteResult 对象
# 删除所有对象
query = {}  # 空对象
result = c.delete_many({})

print(result.deleted_count)  # 删除文档的数量
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值