MongoDB:将 $sample 与 C# 驱动程序一起使用

标签 mongodb mongodb-.net-driver

我正在尝试使用 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/

相关文章:

mongodb - Sailsjs 查找未设置字段的位置

C# MongoDB 驱动程序 : Can't find the way to run complex query for AnyIn filter in MongoDB

c# - MongoDb c#驱动程序按字段值在数组中查找项目

c# - 按嵌入文档排序

node.js - mongodb node.js 查找数组中存在多个 ID 的文档

python - 为什么我每天早上在 CI 上都会收到 python 异常 "OperationFailure: local.oplog.rs missing. did you drop it? if so restart server"?

mongodb - 更新嵌套数组文档

MongoDB:调用 Count() 与跟踪集合中的计数

如果与其他日期重叠,MongoDB 查找日期范围

python - Flask 查询 MongoLab 的速度非常慢