登录
首页 >  Golang >  Go问答

从golang中的mongodb查询结果中删除一个字段

来源:stackoverflow

时间:2024-04-22 14:48:33 500浏览 收藏

来到golang学习网的大家,相信都是编程学习爱好者,希望在这里学习Golang相关编程知识。下面本篇文章就来带大家聊聊《从golang中的mongodb查询结果中删除一个字段》,介绍一下,希望对大家的知识积累有所帮助,助力实战开发!

问题内容

这是我来自 mongodb-go-driver 的函数:

func MongodbFindOne(key, value string) bson.M {
    var result bson.M
    opts := options.FindOne().SetShowRecordID(false)
    _ = Collection.FindOne(context.TODO(), bson.M{key: value}, opts).Decode(&result)
    return result
}

该函数工作得很好,但我在结果中得到了 _id 字段。我知道 mongodb 查询从查询​​结果中排除字段,但我不知道如何将它与 findone() 函数一起使用:

从教程来看:

db.removeiddemo.find({},{_id:0});

来自mongodb查询结果,不带字段名

db.collection.find({},{_id:0, t_number:1}).toarray().map(function(ele) {return ele.t_number} );

从 mongo 结果中删除 _id (nodejs):

app.get('/itesms', function(req, res) { items.find({}, { _id: 0 }).toarray(function (err, array) { res.send(数组); }) });


解决方案


要从结果中排除字段,请使用投影。使用FindOneOptions.SetProjection()设置投影。

要专门排除 _id 字段:

err = c.FindOne(ctx,
    bson.M{key: value},
    options.FindOne().SetProjection(bson.M{"_id": 0}),
).Decode(&result)

文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《从golang中的mongodb查询结果中删除一个字段》文章吧,也可关注golang学习网公众号了解相关技术文章。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>