ASP.NET MVC WebAPI 컨트롤러에서 최신 MongoDB-C# 드라이버를 사용하고 있습니다.Mongodb 업데이트가 오류없이 실패 함
내가 전화 오류 메시지가 나타나지 않습니다 : 내가 (즉, 컨트롤러에 대해 직접 유닛 테스트를 실행하면
collection.Update(Query<T>.EQ(e => e.Id, entity.Id),
MongoDB.Driver.Builders.Update<T>.Replace(entity), WriteConcern.Acknowledged)
그러나 영향을받는 문서의보고 수는 0
입니다 그것은 호스팅 아니에요. 또는 어떤 서버에서 실행됩니다. 그냥 UnitTest 내 컨트롤러를 인스턴스화하여 정상적인 클래스처럼 취급) 내가 이것을 할 때 모든 예상대로 작동합니다.
그래서 내 사이트가 호스팅되는 동안에 만이 문제가 발생합니다.
자세히 : 새 개체를 만든 다음 해당 개체를 수정하고 위의 코드를 호출하면 업데이트가 성공합니다.
예 :이 코드를 실행 객체 생성 내 WebAPI 컨트롤러에 포스트를 호출하는 경우 :
MongoConnection.Collection.Insert(value, WriteConcern.Acknowledged)
을 그리고 그 객체를 수정 코드의 첫 번째 블록을 실행 내 WebAPI 컨트롤러에 포스트를 호출 :
collection.Update(Query<T>.EQ(e => e.Id, entity.Id),
MongoDB.Driver.Builders.Update<T>.Replace(entity), WriteConcern.Acknowledged)
그러면 업데이트가 성공합니다.
도움을 주신 데 대해 감사드립니다.
업데이트 내가 잘못된 것을하고 있습니까? 실제 실패가 무엇인지 파악하기위한 아이디어는 무엇입니까? MongoDB에 대한 호출을 디버깅하는 방법이 있습니까?
정보가 하나 더 있습니다. Azure에서 MongoLab을 사용하여 MongoDB 저장소를 호스팅합니다.
무엇이 당신의 질문입니까? – i3arnon
쿼리가 문서와 일치하지 않는 것 같습니다. –
쿼리를 실행하면 자신이 원하는 데이터를 반환합니다. 동일한 ID를 사용하고 호스팅 된 솔루션을 사용하지 않으면 모든 것이 동일한 mongoDB 인스턴스에 대해 작동한다는 점에 유의하십시오. 개별 호출을 변수로 설정하는 것보다이 문제를 디버깅하는 더 좋은 방법이 있습니까? – dannydwarren