gpt4 book ai didi

python - PyMongo insert_one 异常/错误处理

转载 作者:行者123 更新时间:2023-12-01 06:27:26 25 4
gpt4 key购买 nike

我正在尝试确保我已设置错误处理。我不确定我是否正确使用了 try、 except 和 return 。

所需的输出是 True 或 False如果文档插入成功则为 True,否则为 False。我做对了吗?我担心的是它总是会返回 true?不太确定 try/except 是如何工作的。谢谢。

import json
import pymongo
from bson import json_util
from pymongo import MongoClient
from pymongo import errors

connection = MongoClient('localhost', 27017)
db = connection['city']
collection = db['inspections']

def insert_document(documentToInsert):
try:
collection.insert_one(documentToInsert)
return True
except WriteConcernError as wce:
print(wce)
return False
except WriteError as we:
print(we)
return False


def main():
document = {
"id" : "11111-2019-ENFO",
"certificate_number" : 9278806,
"business_name" : "TAXOLOGY",
"date" : "Feb 20 2015",
"result" : "No Violation Issued",
"sector" : "Accounting - 111",
"address" :
{
"city" : "MISSION HILLS",
"zip" : 91401,
"street" : "Sepulveda",
"number" : 1809
}
}

print(insert_document(document))

main()

最佳答案

我没有看到任何write_concern作为写入的选项传入,我假设您可能看不到 WriteConcernError。检查这个:pymongo.write_concern.WriteConcern有关如何设置 WriteConcern 的示例。此外,仅当您想要在发生某种类型的错误时执行某些功能时,才需要这些错误检查,因为您所需要的只是返回 True/False,然后您可以删除所有这些错误检查:

代码:

connection = MongoClient('localhost', 27017)
db = connection['city']
collection = db['inspections']


def insert_document(documentToInsert):
try:
collection.insert_one(documentToInsert)
return True
except Exception as e:
print("An exception occurred ::", e)
return False


def main():
document = {
"id": "11111-2019-ENFO",
"certificate_number": 9278806,
"business_name": "TAXOLOGY",
"date": "Feb 20 2015",
"result": "No Violation Issued",
"sector": "Accounting - 111",
"address":
{
"city": "MISSION HILLS",
"zip": 91401,
"street": "Sepulveda",
"number": 1809
}
}

print(insert_document(document))


main()

关于python - PyMongo insert_one 异常/错误处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60066390/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com