从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 结果(nodejs)中删除 _id :


app.get('/itesms', function(req, res) {   items.find({}, { _id: 0 }).toArray(function (err, array) {

    res.send(array);   }) });


呼啦一阵风
浏览 252回答 1
1回答

噜噜哒

要从结果中排除字段,请使用投影。用于FindOneOptions.SetProjection()设置投影。要明确排除该_id字段:err = c.FindOne(ctx,    bson.M{key: value},    options.FindOne().SetProjection(bson.M{"_id": 0}),).Decode(&result)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go