我有一个使用Robomongo工具在MongoDB中创建的数据库。如何通过ValuesControllers.cs中的默认POST,PUT,DELETE方法在Web API中更新这些数据?
数据库名称:StudentInfo 馆藏名称:学生
{
_id : ObjectId(),
name : "lqbal",
department : "CSE",
phone : "0194949402"
}
答案 0 :(得分:0)
以下是POST
动作的示例。 WebApi可以执行模型绑定,因此它可以从POST
操作的主体获取内容并将其绑定到c#实体 - 在本例中为Student
对象。
以下是Request
Body的内容。
{
"name": "lqbal",
"department": "CSEGlobal",
"phone": "0194949402"
}
另外,请务必将Content-Type
的{{1}}设置为Reqest
,以便WebApi可以执行正确的模型绑定。
然后,application/json
操作中的代码必须在数据库中查找相关学生。检索到POST
对象后,它可以更新值,然后将对象保存回数据库。
Student
public void Post([FromBody]Student value)
{
var student = ((MongoCollection)collection).AsQueryable<Student>().First(c => c.name == value.name);
student.department = value.department;
student.phone = value.phone;
collection.Save(student);
}
操作的概念与此PUT
操作类似,只是创建了一个新的POST
对象。
Student
操作很简单,类似于DELETE
操作 - 您只需要在查询字符串中传递要删除的记录的GET
,然后将其删除在动作控制器中。
以下是如何使用mongo c#驱动程序删除文档的链接 Mongo c# Driver - Remove an Existing Document