我需要从特定点的集合中获取文档 - 是否有任何方法可以执行此操作,还是需要在文档结构中附加值?更具体地说,我需要根据一个随机数得到这个文件......就像这样......
Random rand = new Random();
int randNumber = rand.Next(1, (int)bsonCollection.Count());
var document = bsonCollection.findDocumentAt(randNumber);
// the function I'm after ^ or equivilient
答案 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();