使用 Mongo-Go-Driver 过滤 MongoDB 文档中的字段
要使用 Mongodb-Go-Driver 过滤 MongoDB 文档中的特定字段,可以使用 findopt.Projection 选项。但是,在您提供的代码中,由于 fields 结构中的字段 _id 未导出(以小写字母开头)而出现问题。
修订的解决方案:
要解决此问题,应导出字段名称(以大写字母开头)并利用结构标签将其映射到 MongoDB _id 字段。更新后的代码:
type fields struct { ID int `bson:"_id"` }
使用 Projection Option 进行投影:
要使用投影执行查询,请使用 options.FindOne().SetProjection(projection) 方法,其中投影表示要检索的所需字段。
已更新代码:
projection := fields{ ID: 0, } result := staCon.collection.FindOne( nil, filter, options.FindOne().SetProjection(projection)).Decode(s)
替代使用 bson.Document:
或者,bson.Document 可以用作投影:
projection := bson.NewDocument( bson.EC.Int32("_id", 0), ) result := staCon.collection.FindOne( nil, filter, options.FindOne().SetProjection(projection)).Decode(s)
使用这些方法,您可以从 MongoDB 文档中过滤特定字段,抑制不必要的字段如果需要,例如 _id。
以上是如何使用 Mongo-Go-Driver 从 MongoDB 文档中过滤特定字段?的详细内容。更多信息请关注PHP中文网其他相关文章!