2013-02-20 7 views
0

이의 말합시다 MongoDB를에서 특정 문서에서 시작하여 문서의 번호를 얻을 방법이 같은 모음이 있습니다몽고의 DB에

{_id: "A", Value: "1"} 
{_id: "B", Value: "2"} 
{_id: "C", Value: "3"} 
{_id: "D", Value: "4"} 
{_id: "E", Value: "5"} 
{_id: "F", Value: "6"} 
{_id: "G", Value: "7"} 
{_id: "H", Value: "8"} 
{_id: "I", Value: "9"} 

을 나는 M라는 메서드를 (ID, LIMIT) 이는 문서 ID로 시작하는 마지막 LIMIT 레코드를 역순으로 가져옵니다.

방법 M은 어떻게 구현합니까?

예 1 :

M(F, 4) returns 
{_id: "F", Value: "6"} 
{_id: "E", Value: "5"} 
{_id: "D", Value: "4"} 
{_id: "C", Value: "3"} 

예 2 :

M(H, 2) returns 
{_id: "H", Value: "8"} 
{_id: "G", Value: "7"} 

예 3 :

M(G, 6) returns 
{_id: "G", Value: "7"} 
{_id: "F", Value: "6"} 
{_id: "E", Value: "5"} 
{_id: "D", Value: "4"} 
{_id: "C", Value: "3"} 
{_id: "B", Value: "2"} 
+0

귀하의 표기가 조금 혼란이다. 글자는 ID 값인 것처럼 보이지만 문서의 키로 표시됩니다. 유효한 JSON으로 예제를 업데이트 할 수 있다면 도움이 될 것입니다. – JohnnyHK

+0

제공 한대로 표기법이 업데이트되었습니다. –

답변

0

당신은으로 결과를 필터링해야또한 _id에 의해 하강을 정렬하는 동안 :

var cursor = test.FindAs<BsonDocument>(Query.LTE("_id", ID)); 
cursor.SetSortOrder(SortBy.Descending("_id")); 
cursor.SetLimit(LIMIT);