为了账号安全,请及时绑定邮箱和手机立即绑定

如何在新的 go-mongo-driver 中运行 Find.().One()

如何在新的 go-mongo-driver 中运行 Find.().One()

Go
凤凰求蛊 2023-03-07 14:38:06
目前我们正在将 mgo( globalsign )驱动程序迁移到 go mongo-driver我想要一些替代方法Find.().One()我尝试了类似下面的方法,但没有帮助    login = model.LoginModel{}    err = mongo.Collection.Find(bson.M{"name": MAXCOUNT}).Decode(&loginCount) 返回我并返回以下错误, error was: cannot transform type []interface {} to a BSON Document: WriteArray can only write a Array while positioned on a Element or Value but is positioned on a TopLevel不确定新的 Decode 方法是否允许结构值?我的结构如下所示type LoginModel struct {Username    string  `json:"username"`Password    string  `json:"password"`}我也需要有相应的 bson 值吗?试图在 go-mongo-driver 中运行 Find.().One()
查看完整描述

1 回答

?
幕布斯6054654

TA贡献1876条经验 获得超7个赞

Collection.Find()旨在查询多个元素。它返回一个mongo.Cursor,您可以使用它来迭代结果或使用Cursor.All().

如果您需要单个结果,请Collection.FindOne()改用。

例如:

ctx := context.Background() // Use / setup your context

c := ... // acquire mongo.Collection


var login model.LoginModel

err = c.FindOne(ctx, bson.M{"name": MAXCOUNT}).Decode(&login)

// check error


查看完整回答
反对 回复 2023-03-07
  • 1 回答
  • 0 关注
  • 56 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信