2012-06-01 5 views
2

스프링 데이터 (1.1.0.M1)를 사용하면 제거 된 문서의 수를 확인할 수 있습니까?MongoDB에서 얼마나 많은 문서가 제거 되었습니까?

현재 MongoTemplate 클래스에서 remove() 메서드를 사용하고 있지만 작업에 대한 정보는 반환하지 않습니다.

MongoTemplate을 통해 전송되지 않으면 다른 방법으로 문서를 제거하고 제거 된 수를 확인할 수 있습니까?

답변

9

MongoDB에서 문서를 작성할 때 (제거 포함) getLastError()으로 전화하여 마지막 쓰기 작업에 어떤 영향이 있는지 확인할 수 있습니다.

문제가 있으면 아무런 오류가 없으면 조작에 의해 영향을받은 오브젝트 (문서)의 수를 알고 싶습니다.

셸에서 getLastErrorObj()에 의해 반환 된 개체를 검사하여 세부 정보를 볼 수 있습니다. Java에서는 Mongo Java 드라이버가 동등한 기능을 수행하기 위해 methods을 제공합니다.

제거 작업의 경우, "n" 필드는 영향을받는 문서의 수와 일치합니다. 다음은 작은 예입니다.

import com.mongodb.WriteResult; 
... 
    WriteResult wr = collection.remove(new BasicDBObject()); // removes everything 
    System.out.println(wr.getN());  // prints the number of removed documents 
0

나는 MongoDB를 처음 접했을 때 많은 경험이 없으며, 내가 당신의 상황에 적용 할만한지 확신 할 수 없다. flag safe = true를 쿼리에 전달하면 쿼리에서 영향을받는 행의 양을 나타내는 'n'키가 반환됩니다. 조사해 봐야합니다 ..

관련 문제