使用 MongoEngine,这个项目的最佳选择是什么?

What is the best choice of field for this project, using MongoEngine?

我目前正在做一个项目,想知道是否可以得到一些建议。我的目标是存储有关许多 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 方法仍然很陌生

作为一条简单的规则,如果

,嵌入式文档非常适合
  • 一个Parameter只属于一个Page和一个Page及其Parameter只属于一个测试

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

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

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

评论中建议的更多详细信息