目前我们正在将 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
- 1 回答
- 0 关注
- 78 浏览
添加回答
举报
0/150
提交
取消