C# MongoDB.NET:一对多?多对多?

C# MongoDB.NET:一对多?多对多?,c#,.net,mongodb,C#,.net,Mongodb,我目前很喜欢使用MongoDB和C#的.NET驱动程序编写API。我发现它很容易使用,但我想知道如何在不使用嵌入式文档的情况下指定一对多关系。而且,多对多将很快成为一个问题 不幸的是,Microsoft文档非常枯燥,如果不将对象嵌入到同一文档中,就很难识别如何在数据库中创建对象之间的关系 我有这样一个POCO: public class UserModel : DocumentModel { public ProfileModel Profille { get; set; } publi

我目前很喜欢使用MongoDB和C#的.NET驱动程序编写API。我发现它很容易使用,但我想知道如何在不使用嵌入式文档的情况下指定一对多关系。而且,多对多将很快成为一个问题

不幸的是,Microsoft文档非常枯燥,如果不将对象嵌入到同一文档中,就很难识别如何在数据库中创建对象之间的关系

我有这样一个POCO:

public class UserModel : DocumentModel
{
  public ProfileModel Profille { get; set; }
  public string DefaultReadLanguage { get; set; }
}

我希望
配置文件
位于自己的文档中,而不是嵌入
用户模型
。这可能吗?或者只是在用户文档中存储配置文件的ID?那太可惜了(

像MongoDB这样的文档数据库不是为关系数据建模而构建的,因此如果您想要构建依赖关系的数据模型,那么它可能不适合这个问题


如果要存储对不希望嵌入的文档的引用,请存储Id并手动检索链接文档。但请注意,您需要自己处理任何引用完整性,并处理可能丢失的数据。

谢谢您的回答,但我认为这不完全正确。MongoDB文档lf讨论了与文档引用的一对多关系,然后是$lookup聚合操作符。我的问题是,这个功能是否已进入C#MongoDB库?是否有任何属性或装饰符可以应用于POCO成员以指示文档引用,或者,正如您所说,是存储ID和手动执行连接?