mongodb - 我应该保留什么 setLimit(int64) 方法来显示 Collections 中的所有记录

标签 mongodb go mongo-go

在 setLimit() 方法中我应该保留什么来获取数据中的所有记录

包 - 使用:go.mongodb.org/mongo-driver/bson

go.mongodb.org/mongo-driver/mongo

go.mongodb.org/mongo-driver/mongo/options

findOption := options.Find()

findOption.SetLimit(?)

var res1 []Person

cur, err := collection.Find(context.TODO(), bson.D{}, findOption)

if err != nil {
    log.Fatal(err)
}

for cur.Next(context.TODO()) {

    var elem Person

    err := cur.Decode(&elem)

    if err != nil {
        log.Fatal(err)
    }

    res1 = append(res1, elem)
}

if err := cur.Err(); err != nil {
    log.Fatal(err)
}

// Close the cursor once finished
cur.Close(context.TODO())

fmt.Printf("Found multiple documents (array of pointers): %+v\n", res1)

最佳答案

最简单的就是不要打电话 FindOptions.SetLimit() 如果你不想限制结果的数量。如果您没有通过 FindOptions ,或者您在没有设置限制的情况下传递一个,默认情况下,结果不受限制。

如果您有 FindOptions先前已设置限制的值,您可以设置限制 0 “撤销”限制。

引自 FindOptions.Limit :

// The maximum number of documents to return. The default value is 0, which means that all documents matching the
// filter will be returned. A negative limit specifies that the resulting documents should be returned in a single
// batch. The default value is 0.
Limit *int64

关于mongodb - 我应该保留什么 setLimit(int64) 方法来显示 Collections 中的所有记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60376333/

相关文章:

mongodb - 如何导入go的mongo-driver bson

c - 如何编译 Mongodb-c-driver 程序?

go - 如果 mkdir 不存在,则使用 golang

gcc - 通过 Windows cgo->gcc->ld 进行 DLL 链接会出现 "undefined-reference-to-(function)"错误

json - 为什么我从 mongodb 获取我的 json 中某些字段的所有零值?

mongodb - 使用官方 mongo-go-driver 进行正确的通配符多字段查询

mongodb - 如何在单个查询中仅删除 mongodb 中具有空值的行

javascript - MeteorJS 模板不显示数据,不出现

mongodb - 适用于高读取率的数据库解决方案

go - go channel 和 goroutines 如何转换为 webassembly?