繁体   English   中英

在较大的应用程序中使用flask_pymongo共享MongoClient的正确方法是什么?

[英]What is the proper way to share MongoClient using flask_pymongo in larger application?

我正在使用flask_restful构建REST API,目前正在考虑将其连接到MongoDB数据库。 我一直在寻找flask_pymongo,如果我正确理解了,您将创建一个表示连接的对象,并将该对象用于查询。

在示例中,我已经看到使用了一个文件,并且该对象是全局的。 在较大的项目中,我将需要以某种方式共享此对象。 我是否必须使该对象成为全局对象,或者有没有更好的方法来处理它?

对于单个文件(模块),您可以在文件开头的某个位置实例化连接对象。

con = MongoClient(....)

那么您就可以在端点定义中使用它,而无需将其定义为全局属性,因为您不会以任何方式修改其属性。

def endpoint1(....)
    .....
    result = con['dbname']['collectionname'].find({...})

def endpoint2(....)
    .....
    result = con['dbname']['collectionname'].find({...})

如果需要在其他模块中导入它。

from yourmodule import con

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM