我正在批量插入 mongodb 数据库。我知道插入的 99% 的记录会因为重复键错误而失败。我想在插入后打印有多少新记录插入到数据库中。所有这些都是通过 tornado motor mongodb 驱动程序在 python 中完成的,但这可能并不重要。
try:
bulk_write_result = yield db.collections.probe.insert(dataarray, continue_on_error=True)
nr_inserts = bulk_write_result["nInserted"]
except pymongo.errors.DuplicateKeyError as e:
nr_inserts = ???? <--- what should I put here?
由于抛出异常,bulk_write_result
为空。显然,我可以(除了并发问题)在插入之前和之后对完整集合进行计数,但我不喜欢仅在日志文件中的一行额外往返数据库。那么有什么方法可以发现实际插入了多少条记录?