首页 > 解决方案 > 一对多 - mongodb 中的参考文档

问题描述

可以说我有一个简单的模型,有一对多的引用。制造商和汽车都存在于不同的集合中,制造商应存储汽车 ID。

[BsonCollection("Manufacturers")]
public class Manufacturer 
{
    [BsonId]
    [BsonRepresentation(BsonType.ObjectId)]
    public string Id { get; set; }
    
    public string Name { get; set; }     
     
    [BsonRepresentation(BsonType.ObjectId)]
    public List<string> CarIds get; set; }
}

[BsonCollection("Cars")]
public class Car
{
    [BsonId]
    [BsonRepresentation(BsonType.ObjectId)]
    public string Id { get; set; }
    
    public string Name { get; set; }
}

我已成功将制造商数据发送到存储库

 await _repository.Create(manufacturer);

但此时,我不知道需要与制造商对象一起存储的汽车 ID。如果我首先保存汽车列表,那么我需要再次检索它,这会重复往返于数据库。

还有另一种更聪明的方法吗?我知道使用实体框架的方法,我们提供代码优先方法和数据库映射,但是对于 MongoDb,我不确定这种情况下的最佳实践是什么。

标签: c#.netmongodbasp.net-core

解决方案


推荐阅读