我正在使用 Web API 来调用和实现一个 post 方法来将值插入 MongoDB。值插入失败。数据应该被插入到 MongoDB 中已经创建的数据库中!我是网络 api n MongoDB 的初学者。我需要帮助
我已经编写了将值插入集合“联系人”的代码。使用 API 的代码有效,但执行发布的代码无效。连接建立,但插入id值失败。
**API code**
Contact.cs(模型类)
public class Contact
{
[BsonId]
public string Id { get; set; }
public string Name { get; set; }
public string Address { get; set; }
public string Email { get; set; }
public string Phone { get; set; }
}
MongoDbController(控制器)
public class MongoDbController : ApiController
{
readonly MongoDatabase mongoDatabase;
public MongoDbController()
{
mongoDatabase = RetreiveMongohqDb();
}
private MongoDatabase RetreiveMongohqDb()
{
MongoClient client = new MongoClient("mongodb://localhost:27017");
MongoServer server = client.GetServer();
return server.GetDatabase("mydb");
}
[System.Web.Http.HttpPost]
public Contact Save(Contact contact)
{
var contactsList = mongoDatabase.GetCollection("contact");
WriteConcernResult result;
bool hasError = false;
if (string.IsNullOrEmpty(contact.Id))
{
contact.Id = ObjectId.GenerateNewId().ToString();
result = contactsList.Insert<Contact>(contact);
contactsList.Save(contact);
hasError = result.HasLastErrorMessage;
}
if (!hasError)
{
return contact;
}
else
{
throw new HttpResponseException(HttpStatusCode.InternalServerError);
}
}
**Consuming API**
Contact.cs(模型类)
public class Contact
{
[BsonId]
public string Id { get; set; }
public string Name { get; set; }
public string Address { get; set; }
public string Email { get; set; }
public string Phone { get; set; }
}
芜湖不芜
相关分类