我正在尝试使用 MongoDB C# 驱动程序 (2.4.4) 表达以下查询:

db.media.aggregate({ $sample: { size: 1 }})

这是我到目前为止所拥有的:
BsonDocument sample = new BsonDocument
{
    { "$sample", new BsonDocument { { "size", 1 } } }
};
MongoBlob mongoBlob = await _collection
    .Aggregate()
    .Group<MongoBlob>(sample)
    .FirstOrDefaultAsync();

我不能将 sample 放入 .Aggregate(AggregateOptions options = null) 并且将其放入 .Group(...) 显然是错误的。也没有类似 .Sample() 的方法。

请帮忙。先感谢您。

最佳答案

简单地,

var randEl = await collection.AsQueryable().Sample(1).FirstOrDefaultAsync();

不要忘记添加
using MongoDB.Driver.Linq;

关于MongoDB:将 $sample 与 C# 驱动程序一起使用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45530988/

10-16 09:30