Python + MongoDB笔记
Python和MongoDB笔记
由于我想使用Python来操作MongoDB,所以我做了一些调查并做了一份备忘录。预计将随时更新。
请安装Python驱动程序。
pip install pymongo dnspython
连接MongoDB
import pymongo
client = pymongo.MongoClient(
"mongodb+srv://[User]:[Password]@cluster0.8tpbm.mongodb.net/myFirstDatabase?retryWrites=true&w=majority")
DB添加、选择
如果没有测试存在,则新建创建。
db = client.test
添加收藏,选择
如果测试不存在,则创建新的。
collection = db.test
添加数据
account = {
'account_id': 100001,
'limit': 9000,
'products': ['TEST1', 'TEST1-1']
}
result = collection.insert_one(account)
print(result.inserted_id)
添加多个数据
accounts = [
{'account_id': 100002, 'limit': 9000, 'products': ['TEST2', 'TEST2-1']},
{'account_id': 100003, 'limit': 9000, 'products': ['TEST3', 'TEST3-1']}
]
result = collection.insert_many(accounts)
print(result.inserted_ids)
获取数据
account = collection.find_one({"account_id": 123456})
print(account)
获取多个数据
accounts = collection.find({'$or': [{'account_id': 100002}, {'account_id': 100003}]},
sort=[('account_id', pymongo.ASCENDING)])
result = [v for v in accounts]
print(result)
数据更新
update = collection.update_one({"account_id": 100001}, {'$set': {'limit': 8000}})
print(update.matched_count)
多条数据更新
update = collection.update_many({'$or': [{'account_id': 100002}, {'account_id': 100003}]},
{'$set': {'limit': 9000}})
print(update.matched_count)
删除数据。
result = collection.delete_one({"account_id": 100001})
print(result.deleted_count)
删除多条数据。
result = collection.delete_many({'$or': [{'account_id': 100002}, {'account_id': 100003}]})
print(result.deleted_count)