3

我想使用 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()

我不知道我的插入是否像那样异步以及是否应该关闭连接

4

1 回答 1

6

因为您将w=0参数传递给insert,所以该操作是非阻塞的,并且该调用将简单地将文档排队以进行插入和返回。

并保持连接打开以获得最佳性能。

于 2013-02-18T02:54:27.327 回答