pymongo 학습 제1 편-첨삭 검사
1、https://docs.mongodb.org/getting-started/python/
2、http://api.mongodb.org/python/current/api/pymongo/index.html
# -*- coding: utf-8 -*-
import sys
from datetime import datetime
from pymongo import MongoClient
import pymongo
import re
def main():
'''connect to database.
client = MongoClient() client = MongoClient("localhost:27017")
'''
client = MongoClient()
db = client.demo
coll = db.address
'''insert data.
insert_one()
insert_many()
'''
insertResult = coll.insert_one({
"account": "[email protected]",
"password": "123456",
"birth": datetime.strptime("1990-09-22", "%Y-%m-%d"),
"score": 102,
"address": {"city": ["beijing", "wuxi", "chengdu"], "country": "China"},
"articles": [{"title": "mongo ", "author": "xiaomaque"},
{"title": "mysql ", "author": "ponpon7"}]
})
print(insertResult.inserted_id)
elements = [{"account": "ponpon7", "password": "afi89^^R", "birth": datetime.strptime("1986-12-12", "%Y-%m-%d"), "score": 172}, {"account": "liudehua", "password": "wangqingshui", "birth": "", "score": 18}]
coll.insert_many(elements)
'''find or query data.
cursorAll: score<140 , account , score . $lt: less than<; $gt: greater than>
cursorOr: logical OR
cursorRegex:
'''
cursorAll = coll.find({"score": {"$lt": 140}}).sort([
("account", pymongo.ASCENDING),
("score", pymongo.DESCENDING)
])
for document in cursorAll:
print("All document: {}".format(document))
cursorRegex = coll.find({"account": re.compile('p', re.I)})
for document in cursorRegex:
print("Regex document: {}".format(document))
cursorOr = coll.find({"$or": [{"score": 172}, {"address.country": "China"}]})
for document in cursorOr:
print("score is 172 Or country is China: {}".format(document))
'''update data & replace data.
update_one(filter, update, upsert=False, bypass_document_validation=False)
upsert: True, filter , false
'''
updateResult = coll.update_many(
{"account": "[email protected]"},
{
"$set": {"score": 129, "address": {"city": ["nanjing"], "country": "China"}},
"$currentDate": {"lastModified": True}
},
# True
)
print("update: matched_count is {}".format(updateResult.matched_count))
print("update: modified_count is {}".format(updateResult.modified_count))
replaceResult = coll.replace_one(
{"account": "[email protected]"},
{
"account": "[email protected]",
"score": 139,
"address": {"city": ["Paris"], "country": "France"},
}
)
print("replace: matched_count is {}".format(replaceResult.matched_count))
print("replace: modified_count is {}".format(replaceResult.modified_count))
'''remove data.
Attention: delete_many({}) delete all documents
coll.drop() drop a collection
'''
deleteResult = coll.delete_many({"birth": datetime.strptime("1990-09-22", "%Y-%m-%d")})
print("remove: deleted_count is {}".format(deleteResult.deleted_count))
if __name__ == '__main__':
main()
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.