使用Web API从MongoDB更新数据

时间:2015-02-08 13:19:39

标签: mongodb asp.net-web-api

我有一个使用Robomongo工具在MongoDB中创建的数据库。如何通过ValuesControllers.cs中的默认POST,PUT,DELETE方法在Web API中更新这些数据?

数据库名称:StudentInfo 馆藏名称:学生

{
  _id : ObjectId(),
  name : "lqbal",
  department : "CSE",
  phone : "0194949402"
}

1 个答案:

答案 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