我想使用PyMongo作为Django应用程序的记录器。
我不介意日志表中的某些插入是否丢失,所以我想将日志发送到另一台服务器的mongodb,并继续执行而不等待确认。
我正在阅读pymongo文档,但是我不清楚集合中的插入是否阻塞。
我正在考虑在django模型方法中执行此操作
from pymongo import MongoClient
conn = MongoClient('mongoserver', 27017)
db = conn.main
col = db.log
col.insert({"user": "Pedro", "action": "search", "Origin": "Katmandu"}, w=0)
conn.close()
我不知道插件是否像那样异步,是否应关闭连接
答案 0 :(得分:5)
因为您将w=0
参数传递给insert
,所以该操作是非阻塞的,并且该调用将简单地对文档进行排队以便插入和返回。
保持连接打开以获得最佳性能。