获取特定偏移量的BsonDocument

时间:2014-12-01 21:24:17

标签: c# mongodb mongodb-.net-driver

我需要从特定点的集合中获取文档 - 是否有任何方法可以执行此操作,还是需要在文档结构中附加值?更具体地说,我需要根据一个随机数得到这个文件......就像这样......

Random rand = new Random();
int randNumber = rand.Next(1, (int)bsonCollection.Count());

var document = bsonCollection.findDocumentAt(randNumber);
//     the function I'm after ^ or equivilient

1 个答案:

答案 0 :(得分:0)

编辑:我认为这是一个更好的解决方案(我不知道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();