I am new in mongoDb and try to do an CRUD operation using mongoDb and Asp.net Core web api. My problem is altime whole object becomes update. I want to update specific fields that I send in web api.
Example :
BusinessUnit oBU = new BusinessUnit(){
Id = "586e262268d90b290001b46e",
Name = "BU_Name",
Address = "my_Add"
};
Now I want to update only address to "my_New_add" and want to make below object :
BusinessUnit oBU = new BusinessUnit(){
Id = "586e262268d90b290001b46e",
Name = "BU_Name",
Address = "my_New_Add"
};
API Call : http://localhost:88786/api/BusinessUnit/586e262268d90b290001b46e
body : {"Id" : "586e262268d90b290001b46e", "Address" : "my_New_add"}
But all time it updates full object. How can I solve it?
Below is my code :
Controller Code :
[HttpPut("{id}")]
public void Put(string id, [FromBody]BusinessUnit businessUnit)
{
_businessUnitRepository.UpdateBusinessUnit(id, businessUnit);
}
Repository Code :
public async Task<ReplaceOneResult> UpdateBusinessUnit(string id, BusinessUnit businessUnit)
{
return await _context.BusinessUnits.ReplaceOneAsync(doc => doc.Id == id, businessUnit);
}
Actually I want to do below query (I know mongodb is noSql, but for making my question clear I write below sql query)
UPDATE BusinessUnit Set Address = "my_New_add" WHERE Id = "586e262268d90b290001b46e"
Thanks in advance.