我正在使用 golang 的新官方 mongodb 驱动程序。我创建了一个复杂的查询,将数据插入 mongo db,然后根据元素值对其进行排序。我正在使用一个过滤器,其中我使用以下命令创建了 bson 类型:-
filter := bson.D{{"autorefid", "100"}}
但它显示一条警告:
Primitive.E 复合文字使用无键字段
这些警告在我的代码中造成了混乱。
可以通过将检查标志设置为 false 来停止警告。
$ go doc cmd/vet
默认情况下执行所有检查。如果任何标志显式设置为 true,则仅运行这些测试。相反,如果有任何标志
明确设置为 false,只有那些测试被禁用。因此
-printf=true 运行 printf 检查,-printf=false 运行除 printf 检查之外的所有检查。
Unkeyed composite literals
Flag: -composites
Composite struct literals that do not use the field-keyed syntax.
但警告是由于在设置值时未提供键名称primitive.E
struct.
设置按键primitive.E
struct 将删除警告消息。例如
filter := bson.D{primitive.E{Key: "autorefid", Value: "100"}}
包原语包含类似于 BSON 的 Go 原语的类型
类型不能有直接的 Go 原始表示。
type E struct {
Key string
Value interface{}
}
E代表D的BSON元素。它通常在D内部使用。
欲了解更多信息,请查看原始E https://godoc.org/github.com/mongodb/mongo-go-driver/bson/primitive#E
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)