为了账号安全,请及时绑定邮箱和手机立即绑定

db.collection.find({}, {your_key:1, _id:0})

db.collection.find({}, {your_key:1, _id:0})

Go
蝴蝶不菲 2023-01-03 14:05:19
我想list_atttributes从我的 mongo 文档中获取整个字段:db.config.find({},{list_attributes:1, _id:0});[{    list_attributes: {    '0': { field: 'LASTNAME', field_key: 'lastname', dataType: 'text' },    '1': { field: 'FIRSTNAME', field_key: 'firstname', dataType: 'text' },    '2': { field: 'SMS', dataType: 'text' },    '3': {        field: 'DOUBLE_OPT-IN',        dataType: 'category',        order: 1,        catAttrib: { '1': 'Yes', '2': 'No' }    },    '4': { field: 'OPT_IN', dataType: 'boolean', order: 2 },    '5': { field: 'TEST_NUMBER', dataType: 'float', order: 3 },    '6': { field: 'TEST_DATE', dataType: 'date', order: 4 }    }}]我试着这样写:filter := options.Find().SetProjection(bson.M{"list_attributes": 1})// Pass the filter to Find() to return a MongoDB cursorcursor, err := col.Find(ctx, filter)if err != nil {    log.Fatal("col.Find ERROR:", err)}但是游标在这里返回了 0 个结果。如何bson.M为同一投影创建过滤器?我正在使用官方的 mongodb 驱动器。
查看完整描述

1 回答

?
侃侃尔雅

TA贡献1801条经验 获得超16个赞

这样的事情应该工作


import (

    "go.mongodb.org/mongo-driver/bson"

    "go.mongodb.org/mongo-driver/mongo"

    "go.mongodb.org/mongo-driver/mongo/options"

)


func find(ctx context.Context) error {

    // ...

    cursor, err := collection.Find(ctx, bson.M{}, options.Find().SetProjection(bson.M{"list_attributes": 1}))

    if err != nil {

        return err

    }

    // ...

    return nil

}


查看完整回答
反对 回复 2023-01-03
  • 1 回答
  • 0 关注
  • 66 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号