代码拉取完成,页面将自动刷新
//++++++++++++++++++++++++++++++++++++++++
// 《Go Web编程实战派从入门到精通》源码
//++++++++++++++++++++++++++++++++++++++++
// Author:廖显东(ShirDon)
// Blog:https://www.shirdon.com/
// 仓库地址:https://gitee.com/shirdonl/goWebActualCombat
// 仓库地址:https://github.com/shirdonl/goWebActualCombat
//++++++++++++++++++++++++++++++++++++++++
package main
import (
"context"
"fmt"
"gitee.com/shirdonl/goWebActualCombat/chapter4/model"
"gitee.com/shirdonl/goWebActualCombat/chapter4/mongodb"
"go.mongodb.org/mongo-driver/mongo"
"go.mongodb.org/mongo-driver/mongo/options"
"log"
)
func main() {
var (
client = mongodb.MgoCli()
err error
collection *mongo.Collection
cursor *mongo.Cursor
)
//选择数据库 my_db里的某个表
collection = client.Database("my_db").Collection("table1")
cond := model.FindByJobName{JobName: "job multi1"}
if cursor, err = collection.Find(
context.TODO(),
cond,
options.Find().SetSkip(0),
options.Find().SetLimit(2)); err != nil {
fmt.Println(err)
return
}
defer func() {
if err = cursor.Close(context.TODO()); err != nil {
log.Fatal(err)
}
}()
//遍历游标获取结果数据
for cursor.Next(context.TODO()) {
var lr model.LogRecord
//反序列化Bson到对象
if cursor.Decode(&lr) != nil {
fmt.Print(err)
return
}
fmt.Println(lr)
}
var results []model.LogRecord
if err = cursor.All(context.TODO(), &results); err != nil {
log.Fatal(err)
}
for _, result := range results {
fmt.Println(result)
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。