MongoDb和C#:嵌入式或参考文档

时间:2017-08-18 05:13:56

标签: c# mongodb

MongoDb中的文档引用是推荐的方法还是嵌入式文档是正确的方法?我的问题来自于以下内容。

class ObjectType1
{
ObjectId ID;
ObjectType2 Type2Element;
}

class ObjectType2
{
ObjectId ID;
}

我知道我们可以使用MongoDBRef来引用第一类中的ObjectType2元素,但我无法找到FetchDBRefAs方法(使用官方mongodb C#驱动程序,可能正在查看错误的位置/命名空间)。

如果在MongoDb中需要,建议如何链接实体,特别是使用C#? 感谢

1 个答案:

答案 0 :(得分:1)

尽快回答您的问题:取决于您的使用案例。

我在设计自己的数据库架构时喜欢遵循的一些规则:

  • 如果在您的代码中同时需要ObjectType1和ObjectType2,那么我建议您使用嵌入式方法,因为您只需要1个查询就可以对它们执行CRUD。此外,它更合乎逻辑,因为您需要的所有信息都在db中的相同位置。

  • 如果代码中的大部分时间只需要ObjectType2,那么我会将它们分成2个集合。

这部分官方文档有更多信息: https://docs.mongodb.com/manual/core/data-modeling-introduction/