MongoDB $sample 运算符介绍
$sample
运算符是 MongoDB 中的一个聚合管道运算符,它的作用是随机抽取指定数量的文档作为输出结果。该运算符可用于随机展示一些文档,或者用于测试目的。
语法
$sample
运算符的语法如下:
{
$sample: {
size: <positive integer>
}
}
其中,size
是必需的,它指定要随机抽取的文档数量,必须是一个正整数。
使用场景
$sample
运算符主要用于以下场景:
- 随机获取一些文档进行展示
- 对数据集进行随机抽样
- 测试目的,以便在生产环境中模拟随机数据
示例
以下是使用 $sample
运算符的示例。
假设有一个 users
集合,包含以下文档:
{ "_id": 1, "name": "Alice", "age": 28 }
{ "_id": 2, "name": "Bob", "age": 35 }
{ "_id": 3, "name": "Charlie", "age": 42 }
{ "_id": 4, "name": "David", "age": 19 }
{ "_id": 5, "name": "Eva", "age": 25 }
以下聚合管道可以随机抽取 2 个文档:
db.users.aggregate([{ $sample: { size: 2 } }])
输出结果可能是以下文档之一,但不一定是这些文档:
{ "_id": 2, "name": "Bob", "age": 35 }
{ "_id": 4, "name": "David", "age": 19 }
结论
$sample
运算符是 MongoDB 中用于随机抽取指定数量的文档的一个非常有用的聚合管道运算符。它可以在多种场景下使用,例如展示随机文档、随机抽样和测试。注意,该运算符对于大型数据集可能会产生较大的性能开销,因此需要根据具体情况进行权衡。