千家信息网

mongo-engine中怎么配置mongo加密信息

发表于:2025-01-24 作者:千家信息网编辑
千家信息网最后更新 2025年01月24日,这篇文章给大家介绍mongo-engine中怎么配置mongo加密信息,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。config配置对于mongo有加密填写username, p
千家信息网最后更新 2025年01月24日mongo-engine中怎么配置mongo加密信息

这篇文章给大家介绍mongo-engine中怎么配置mongo加密信息,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

config配置

对于mongo有加密填写username, password, authentication_source

多库配置用alias区分(不填则默认为default), 在后面使用时会用到

MONGODB_SETTINGS = [    {        "db": "openplatform_datacenter",        "host": ["localhost:27017", "localhost:27018"],        "username": "",        "password": "",        "authentication_source": "admin",    },    {        "db": "test",        "host": ["localhost:27017", "localhost:27018"],        "username": "",        "password": "",        "authentication_source": "admin",        "alias": "test",    }]

Model代码

class OriginalDataApplyModel(db.Document):    meta = {        "db_alias": "test",                                 # 关联alias为test的库配置    }    user_id = StringField(required=True)

调用case

extensions.py

# coding: utf-8 from flask_mongoengine import MongoEngine db = MongoEngine()  def init(app):    db.init_app(app)

test.py

# coding: utf-8 from extensions import db  pymongo_default = db.get_db()           # 获取pymongo db实例, 使用MONGODB_SETTINGS中alias为default的配置pymongo_default["test"].insert({"name": "test_alias"})      # 往openplatform_datacenter库的test表插入数据pymongo_test = db.get_db("test")        # 获取pymongo db实例, 使用MONGODB_SETTINGS中alias为test的配置pymongo_test["test"].insert({"name": "test_alias"})         # 往test库的test表插入数据BoxModel.objects().create(user_id="123")   # 利用orm往test库的box_model表插入数据

注意mongo加密只对某个db生效, 所以这里用db.get_db()时会加入mongo验证(执行MongClient.auth), 然后获得库实例.

关于mongo-engine中怎么配置mongo加密信息就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

0