获取特定偏移量的 Bson文档

本文关键字:Bson 文档 偏移量 获取 | 更新日期: 2023-09-27 18:32:38

>我需要在特定点从集合中获取文档 - 有什么方法可以做到这一点,还是我需要在文档结构中附加一个值?更具体地说,我需要根据随机数获取文档......像这样的东西...

Random rand = new Random();
int randNumber = rand.Next(1, (int)bsonCollection.Count());
var document = bsonCollection.findDocumentAt(randNumber);
//     the function I'm after ^ or equivilient

获取特定偏移量的 Bson文档

编辑:我认为这是一个更好的解决方案(我不知道 ElementAt,因为我实际上从不需要这样做):

var document = bsonCollection.FindAll().ElementAtOrDefault(randNumber);

您应该能够使用光标上的跳过来实现此目的。像这样:

var cursor = bsonCollection.FindAll();
cursor.Skip = randNumber;
var document = cursor.FirstOrDefault();

或稍微整齐一点:

var document = bsonCollection.FindAll().SetSkip(randNumber).FirstOrDefault();