// 查询多个 // 将选项传递给Find() findOptions := options.Find() findOptions.SetLimit(2) // 定义一个切片用来存储查询结果 var results []*Student // 把bson.D{{}}作为一个filter来匹配所有文档 cur, err := collection.Find(context.TODO(), bson.D{{}}, findOptions) if err != nil { log.Fatal(err) } // 查找多个文档返回一个光标 // 遍历游标允许我们一次解码一个文档 for cur.Next(context.TODO()) { // 创建一个值,将单个文档解码为该值 var elem Student err := cur.Decode(&elem) if err != nil { log.Fatal(err) } results = append(results, &elem) } if err := cur.Err(); err != nil { log.Fatal(err) } // 完成后关闭游标 cur.Close(context.TODO()) fmt.Printf("Found multiple documents (array of pointers): %#v\n", results)
Go monogo 查询方法
19 min read