mongodb - golang上的mongo随机记录

标签 mongodb go aggregate sample querying

我正在尝试从我的 mongodb 集合中检索随机记录。 我正在使用 golangmongo-go-driver

pipeline := []bson.E{bson.E{"$sample", bson.E{"size", 10}}}
collection.Aggregate(context.TODO(), pipeline)

聚合返回这个错误:

A pipeline stage specification object must contain exactly one field.

我试过 $sizesize

有没有可能 mongo-go-driver 不支持 $sample

最佳答案

改用下面

pipeline := []bson.D{bson.D{{"$sample", bson.D{{"size", 10}}}}}

bson.D 表示一个 BSON 文档,bson.E 表示一个 BSON 元素。聚合是一组 BSON 文档。更多详细信息,请访问 https://godoc.org/go.mongodb.org/mongo-driver/bson .

关于mongodb - golang上的mongo随机记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56082193/

相关文章:

python - 用于日期函数查询的 MongoDB/py-mongo

node.js - Mongoose,无法使用 default_language : 'none' 创建文本索引

go - zip.NewReader(bytes.NewReader(), len) 是否需要关闭或自动收集垃圾?

json - 如何仅使用消息描述符将 protobuf 线格式转换为 JSON?

sql - 运行按一个字段分组并按另一个字段排序的 Postgres 查询

python - 将项目附加到 PyMongo 中的 MongoDB 文档数组而不重新插入

mongodb - Elastic Beanstalk 中的 Mongos 安装/设置

go - 正则表达式匹配字符串值并替换 golang 中的所有出现

r - 创建一个新变量来计算 R 中重复项的长度

c# - LINQ:如何将整数列表连接成逗号分隔的字符串?