c# - 在 MongoDB 的嵌套文档中插入新文档

标签 c# asp.net-mvc mongodb mongodb-query nosql

我是 MongoDB 的初学者。请在下面查看我的模型。

public class Technology
{
    public Technology()
    {
        ProductGroups = new List<ProductGroup>();
    }

    [BsonRepresentation(BsonType.ObjectId)]
    public ObjectId _id { get; set; }

    public string Name { get; set; }

    public IEnumerable<ProductGroup> ProductGroups { get; set; }
}

public class ProductGroup
{

    [BsonRepresentation(BsonType.ObjectId)]
    public ObjectId _id { get; set; }

    public string Name { get; set; }

}

现在数据显示如下。

enter image description here

我尝试在 Technology 中添加 ProductGroup(它是一个 BsonDocument Collection)集合。

最佳答案

  1. 尽可能使用通用类型。因为这段代码 parent["ProductGroups"]对于任何重构来说都是危险的地方。
  2. 您的任务可以在一个查询中完成

var productGroup = new ProductGroup { Id = ObjectId.GenerateNewId(), Name = model.Name };
var collection = database.GetCollection<Technology>("Technology");
var update = Builders<Technology>.Update.AddToSet(x => x.ProductGroups, productGroup);
await collection.FindOneAndUpdateAsync(x => x.Id == model._id, update);

关于c# - 在 MongoDB 的嵌套文档中插入新文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30931332/

相关文章:

javascript - Mongoose验证错误: first: Path `first` is required.,最后: Path `last` is required.“

java - 在同一应用程序中支持 JPA 和 MongoDB

c# - Rhino Mocks 模拟 WindowsImpersonationContext

c# - 日期时间选取器 C# 格式

c# - ServiceStack + FluentValidation 未使用 ResolveService 触发

c# - 在具有 .aspx 扩展名的 mvc 应用程序中获取 Current.Request.Url

c# - 在 C# 中解析 Json rest api 响应

c# - 阻止 WM_QUIT

c# - MVC 服务器端 JSON 检索

mongodb - 保存集合时,MongoDB 创建的索引名称太长且超过 127 字节限制。如何解决这个问题。我可以禁用索引吗?