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

时间:2016-02-23 08:45:56

标签: python mongodb mongoengine flask-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方法的新手

1 个答案:

答案 0 :(得分:1)

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

  • Parameter只属于一个Page和一个Page且其Parameter只属于一个测试

  • 你的文件不会超过16个月。

AFAIU,这就是这种情况,所以我认为没有任何理由使用ReferenceField,这会引入复杂性和性能损失。

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

评论中建议的更多详情here