编辑: 随着mongo-
go驱动程序的发展,可以使用以下简单方法指定投影
bson.M:
options.FindOne().SetProjection(bson.M{"_id": 0})原始(旧)答案如下。
它对您不起作用的原因是因为
fields._id未导出该字段,因此,没有其他包可以访问它(仅声明包)。
您必须使用导出的字段名称(以大写字母开头),例如
ID,并使用struct标记将其映射到MongoDB
_id字段,如下所示:
type fields struct { ID int `bson:"_id"`}现在使用投影执行查询:
projection := fields{ ID: 0,}result := staCon.collection.FindOne( nil, filter, options.FindOne().SetProjection(projection)).Depre(s)请注意,您也可以将a
bson.document用作投影,您不需要自己的struct类型。例如,以下操作相同:
projection := bson.Newdocument( bson.EC.Int32("_id", 0),)result := staCon.collection.FindOne( nil, filter, options.FindOne().SetProjection(projection)).Depre(s)


