python操作mongodb基本使用
使用pymongo,具体可以参考官方文档:
语法上基本和原生mongodb是一样的,所以非常容易入手...
https://pymongo.readthedocs.io/en/stable/tutorial.html
日常使用
import pprint
import pymongo
from pymongo.collection import Collection
from pymongo.database import Database
if __name__ == '__main__':
# 初始化客户端
# mongo_client = pymongo.MongoClient(host="127.0.0.1", port=27017, username="", password="")
mongo_client = pymongo.MongoClient(host="127.0.0.1", port=27017, )
# 获取所有的数据库名称
print(mongo_client.list_database_names())
# 获取或创建一个数据库(也就是 use xxxxx)
# 有三种方式:
# 第一种就是用点分方法获取和创建,
db: Database = mongo_client.spider
# print(dir(db))
# print(type(db))
# 第二种就是用列表引用
db: Database = mongo_client["spider"]
# 第三种就是通过get_database()方法获取
database = mongo_client.get_database("spider")
# 权限认证
# 新版没找到,只能在初始化MongoClient时设置。
# 获取当前使用的数据库名
print(f"{db.name=}")
# 获取当前数据库下的所有集合名
print(db.list_collection_names())
# 创建集合(**一般只有在需要创建固定集合时候才会使用**,因为mongodb插入文档并不需要集合存在就可以直接插入)
# db.create_collection()
# 获取数据库下的某个集合 等同于命令:db.xxxxx
collection: Collection = db.test
# print(dir(collection))
# print(type(collection))
# 还可以通get_collection()方法获取,差别在于会带提示
get_collection = db.get_collection("123123")
print(f"{get_collection=}")
# 更新,upsert=True如果不存在则插入。
# collection.update_one({}, {}, upsert=True)
# 会返回一个游标对象,直接遍历就可以了
cursor = collection.find({"age": {"$gt": 18}})
for item in cursor:
pprint.pprint(item)
# 关闭游标对象。
cursor.close()
# 关闭客户端链接
mongo_client.close()
本文来自博客园,作者:蕝戀,转载请注明原文链接:https://www.cnblogs.com/juelian/p/17559706.html