微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Asp.net C# 在 MongoDB 的单个字段中插入多个值

如何解决Asp.net C# 在 MongoDB 的单个字段中插入多个值

我正在尝试使用 asp.net c# 在 mongodb 的同一字段中存储项目团队成员的姓名。 该值已正确读取,但我无法创建新条目。

下面是我的控制器。简单地编写 document.insert() 是行不通的,因为它只存储单个值而不是列表。

public ActionResult InsertProject(Projectdata model)
    {
        _dbContext = new MongoContext();
        if (Request.Cookies["Userdata"] == null)
        {
            return this.RedirectToAction("Index","User");
        }
        var document2 = _dbContext._database.GetCollection<Mongodata>("mainuser_data");
        var users = document2.FindAll().ToList();

      


        var document = _dbContext._database.GetCollection<ProjectItem>("project_data");
        string project = model.pname;

        var query = Query<ProjectItem>.EQ(model2 => model2.pname,project);
        var count = document.FindAs<ProjectItem>(query).Count();
        if (count == 0)
        {

            var result = document.Insert(model);
            TempData["Message"] = "Project Added";
            return View();
        }
        else
        {
            TempData["Message"] = "Project Already Exists";
            return View("Insert",model);
        }
    }

我的模型。

    public class Projectdata
{
        [BsonId]
        public ObjectId Id { get; set; }

        [BsonElement("pname")]
        public string pname { get; set; }
        [BsonElement("pdesc")]
        public string pdesc { get; set; }
        [BsonElement("sdate")]
        [displayFormat(ApplyFormatInEditMode = true,DataFormatString = "{0:dd/MMM/yyyy}")]
        public DateTime sdate { get; set; }
        [BsonElement("edate")]
        [displayFormat(ApplyFormatInEditMode = true,DataFormatString = "{0:dd/MMM/yyyy}")]
        public DateTime edate { get; set; }
        public List<Team2> teams { get; set; }
        [BsonElement("leader")]
        public string leader { get; set; }

}

public class Team2
    {
        [BsonElement("username")]
        public string username { get; set; }
    }
}

我可以很好地读取所有多个值,但创建新条目是我遇到麻烦的地方。 下面是要添加的示例数据

{
"_id" : ObjectId("5f93cf48a591c562654d4ded"),"pname" : "demo1","pdesc" : "this is a demo project","sdate" : "24-10-2020","edate" : "25-10-2020","teams" : [ 
    {
        "username" : "ManushPandya"
    },{
        "username" : "KuntalVakil"
    }
],"leader" : "ManushPandya"

}

如何在团队字段中存储多个值?。我正在使用复选框让用户在视图中选择这些多个值。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。