2013-05-16 2 views
0

나는 books라는 콜렉션을 가지고 있습니다. 특정 책을 탐색 할 때 ID로 책을 가져옵니다. 하지만 문서를 읽을 때마다 조회수를 1 씩 늘려야합니다.한 번의 호출로 mongodb 문서를 읽고 업데이트하십시오.

내가이 명령을 사용할 수 있습니다 : 하나는 읽기와 또 다른 1

하여 뷰를 카운터 업데이트 할 findAndModify 같은 하나의 명령으로이 작업을 수행 할 수있는 wayy가 있습니까?

CSharp 드라이버를 사용하는 방법?

Books: 
{ 
    { 
    "_id": "1" 
    "title" : "Earth Day", 
    "author" : "John ", 
    "pages" : 212, 
    "price" : 14.5, 
    "views" : 1000 
    }, 
    { 
    "_id": "2" 
    "title" : "The last voyage", 
    "author" : "Bob", 
    "pages" : 112, 
    "price" : 10.5, 
    "views" : 100 
    } 
} 

나는이 있습니다

var query = Query.And(Query.EQ("_id", id)); 
      var sortBy = SortBy.Null; 
      var update = Update.Inc("views", 1); 
      var result = Books.FindAndModify(query, sortBy, update, true); 

을하지만 어떻게 내가 다시 일치하는 문서를받을 수 있나요?

편집

: 내가 가진 그 작업 ..

return result.GetModifiedDocumentAs<T>(); 

내 질문이 호출 GetModifiedDocumentAs이다() 데이터베이스를 다시 칠 것인가?

답변

1

아니요, 데이터베이스에 다시 도달하지 않습니다.

이와 같은 사항이 의심스러운 경우 the source을 확인하십시오. GetModifiedDocumentAs 메서드는 기존 Response 개체에서 결과 문서에 액세스하고이를 요청 된 형식으로 변환합니다.

관련 문제