【问题标题】:What is the best choice of field for this project, using MongoEngine?使用 MongoEngine 这个项目的最佳选择是什么?
【发布时间】:2023-03-20 14:05:01
【问题描述】:

我目前正在做一个项目,想知道是否可以得到一些建议。我的目标是存储有关许多 URL 的信息,每个 URL 都有许多参数,看起来像这样:

{
  Name: "Report1",
  Host: "127.0.0.1",
  Description: "This is a test report",
  Date: "00/00/00",
  Time: "00:00:00",
  Pages:{
        Page: "test_page_url",
        Parameters:{
                 Parameter: "test_param",
                 Value: "test_parm_value"
                    }

        }

}

我找不到太多关于使用 MongoEngine 在一对多关系中使用一对多的信息/示例,我想知道最好的方法是什么?是否可以以这种方式使用 EmbeddedDocumentListField,或者最好使用 ReferenceField。任何建议都将不胜感激,因为我对 NoSQL 方法还是很陌生

【问题讨论】:

标签: python mongodb mongoengine flask-mongoengine


【解决方案1】:

作为一个简单的规则,嵌入文档非常适合

  • 一个Parameter只属于一个Page和一个Page,它的Parameters只属于一个测试

  • 您的文档不会超过 16 个月。

AFAIU,这里就是这种情况,所以我看不出有任何理由使用ReferenceFields,这会带来复杂性和性能损失。

简单地说,如果您可以像在问题中那样表示您的数据,将其布置为单个文档,而不是像在关系模型中那样将多个文档链接在一起,那么使用嵌入式文档可能是安全的。

更多详情 here 评论中的建议。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-11
    • 1970-01-01
    • 2014-11-30
    • 1970-01-01
    • 2012-03-15
    • 2012-01-09
    相关资源
    最近更新 更多