0

假设,在 mongo 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"}
4

1 回答 1

0

您需要按以下方式过滤结果,_id同时按以下方式进行降序排序_id

var cursor = test.FindAs<BsonDocument>(Query.LTE("_id", ID));
cursor.SetSortOrder(SortBy.Descending("_id"));
cursor.SetLimit(LIMIT);
于 2013-02-20T19:44:54.033 回答