반응형
'에 의해 하나의 '문서'를 제거하는 방법MongoDB의 공식 C# 드라이버를 사용하는 ID?
누군가 저에게 보여주실 수 있나요, 만약 더 좋은 방법이 있다면.document
MongoDB에서 공식 C# 드라이버를 사용하여 아래에 있는 것보다 -
var query = Query.EQ("_id", a.Id);
database.GetCollection<Animal>("Animal").Remove(query);
이 코드는 작동하지만, 저에게는 너무 많은 일인 것 같습니다.예를 들어 "저장" 명령은 인스턴스를 가져와 업데이트합니다.그런 걸 원해요Remove(item)
.
비고:저는 구식으로 보이는 NoRM이나 Samus보다는 C#의 공식 드라이버를 사용하려고 합니다.
그게 당신이 하는 방식입니다.알고 계시겠지만, 한 줄로 묶고 싶다면 쿼리 변수를 정의할 필요가 없도록 결합할 수 있습니다.
collection.Remove(Query.EQ("_id", a.Id));
가장 간단한 방법
제거document
a부터collection
C# MongoDB 드라이버용(v2.0 이상)-
collection.DeleteOne(a => a.Id==id);
아니면..
await collection.DeleteOneAsync(a => a.Id==id);
[id]가 문자열인 경우 ObjectId 인스턴스를 명시적으로 사용해야 합니다.
var query = Query.EQ("_id", ObjectId.Parse(id));
내 ASP.NET Core MVC 컨트롤러의 작업은 Id를 문자열 매개 변수로 허용합니다.그런 다음 구문 분석하여 DeleteOne() 문에 결과를 사용합니다.
[HttpPost]
public IActionResult Delete(string id)
{
ObjectId objectId = ObjectId.Parse(id);
DbContext.Users.DeleteOne(x => x.Id == objectId);
return null;
}
var filter = Builders<BsonDocument>.Filter.Eq("_id",ObjectId.Parse(id));
var x = data.DeleteOne(filter);
현재 버전(2019년)과 함께 사용하고 있으며, 작동합니다.
삭제만 원하는 경우docuement
a부터collection
:
public async Task<bool> Delete(string id)
{
FilterDefinition<YourModel> filter = Builders<YourModel>.Filter.Eq(p => p.Id, id);
var deleteResult = await _context.YourModelCollection.DeleteOneAsync(filter);
return deleteResult.IsAcknowledged && deleteResult.DeletedCount > 0;
}
그리고 만약 당신이 모든 것을 삭제하고 싶다면.docuements
:
public async Task<bool> DeleteAll()
{
FilterDefinition<YourModel> filter = Builders<YourModel>.Filter.Empty;
var deleteResult = await _context.YourModelCollection.DeleteManyAsync(filter);
return deleteResult.IsAcknowledged && deleteResult.DeletedCount > 0;
}
언급URL : https://stackoverflow.com/questions/8867032/how-to-remove-one-document-by-id-using-the-official-c-sharp-driver-for-mongo
반응형
'programing' 카테고리의 다른 글
스프링 부트 - 로깅을 끌 수 없음 (0) | 2023.06.22 |
---|---|
mongo 셸에서 문서 필드를 보는 방법은 무엇입니까? (0) | 2023.06.22 |
스프링 부트 유닛 모듈이 자동 배선 구성 요소를 감지하지 못하는지 테스트하십시오. (0) | 2023.06.22 |
git branch -r을 실행할 때 "origin/HEAD"가 표시되는 이유는 무엇입니까? (0) | 2023.06.22 |
Oracle Floats 대 (0) | 2023.06.22 |