在数据库中查找,但排除指定的字段。

huangapple go评论92阅读模式
英文:

find in db with explicitly excluded fields

问题

你可以使用 MongoDB 的 find 方法来执行这个操作。在你提供的示例中,你想获取所有文档,但不包含字段 "name"。但是,你的代码中有一个错误。正确的代码应该是:

err := col.Find(bson.M{}, bson.M{"name": false}).All(&result)

这样,你就可以成功获取所有不包含 "name" 字段的文档了。

英文:

How can I perform this operation :
link

For example I want to get all documents but without field "name":

err := col.Find([]bson.M{{}, {"name": false}}).All(&result)

In result always will be 0 elements, why?(field name exists in collection)

答案1

得分: 3

请参考 https://godoc.org/gopkg.in/mgo.v2#Query.Select

你应该使用类似以下的方式:

err := col.Find(nil).Select(bson.M{"name": 0}).All(&result)
英文:

See https://godoc.org/gopkg.in/mgo.v2#Query.Select

You are supposed to use something like:

err := col.Find(nil).Select(bson.M{"name": 0}).All(&result)

huangapple
  • 本文由 发表于 2015年10月24日 20:27:22
  • 转载请务必保留本文链接:https://go.coder-hub.com/33318181.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定