0

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

4

1 回答 1

1

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

  • aParameter只属于一个Page,aPage和它Parameter的 s 只属于一个测试

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

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

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

如评论中所建议的,此处提供更多详细信息。

于 2016-04-05T22:15:31.127 回答