安装
pip install pymongo -i https://pypi.tuna.tsinghua.edu.cn/simple/ --trusted-host pypi.tuna.tsinghua.edu.cn
API参考
API参考网站
链接数据库
def login_db(user:string, pws:string, db_name:string, host:string='localhost', port:int=27017) -> None:
'''
使用身份验证链接MongoDB,进入并返回指定库。
'''
client = MongoClient(host, port)
db = mgclient['admin']
db.authenticate(user, pws)
db = client[db_name]
return db
指定集合
db = login_db('username', 'passwd', 'db_test')
collection = db['the_collection_name']
插入记录
collection.insert_one({
'code': code,
'date': '2021-01-12',
'price': 100.0,
})
# items = [{...}, {...}]
collection.insert_many(items)
条件查询
rs = collection.find({'code': '600000'})
for r in rs:
print(r)
# 之看某些项
rs = collection.find(filter={'code': '600000'}, {'date':1, 'price':1})
# 排序,升序:1;降序:-1
rs = collection.find(filter={'code': '600000'}, sort=[('date': -1)])
# 个数限制
rs = collection.find(filter={'code': '600000'}, sort=[('date': -1)], limit=10)
更新记录
# replace是替换整个,update可以更新部分字段
rs = collection.update_one(filter={'code': '600000'}, update={'$set': {'price': 101.0}})
# 有则更新,无则插入
rs = collection.update_one(filter={'code': '600000'},
update={'$set': {'code': '600000', 'date': '2021-01-12', 'price': 101.0}},
upsert=True)
删除记录
# 数据是宝贵的,建议给记录打标记来“删除”
# 单条
rs = collection.delete_one(filter={'date': '2021-01-13'})
# 多条
rs = collection.delete_many(filter={'date': '2021-01-13'})
查记录数量
count = count_documents(filter={'code': '600000'})
根据字段名获得集合中改字段值种类的列表
values = collection.distinct('code')
网友评论