如何解决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 举报,一经查实,本站将立刻删除。