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

无法从 mongodb 驱动程序获取任何文档

无法从 mongodb 驱动程序获取任何文档

Go
心有法竹 2022-08-30 14:41:21
我正在尝试使用mongo驱动程序进行简单的查询,但结果没有任何结果。InsertOne工作正常,FindOne和Find返回零文档。这是我的代码: // 我的 mongo 适配器结构package databaseimport (    "context"    "go.mongodb.org/mongo-driver/mongo"    "go.mongodb.org/mongo-driver/mongo/options"    "log")var (    instance * Client)type Client struct {    Client * mongo.Client    Ctx context.Context    Database * mongo.Database}func(c * Client) construct() {    var err error    c.Ctx = context.TODO()    c.Client, err = mongo.Connect(c.Ctx, options.Client().ApplyURI("mongodb://localhost:27017"))    if err != nil {        log.Fatal(err)    }    err = c.Client.Ping(context.TODO(), nil)    if err != nil {        log.Fatal(err)    }    c.Database = c.Client.Database("Foo")}func getInstance() * Client{    if instance == nil {        instance = new(Client)        instance.construct()    }    return instance}克鲁德package databaseimport (    "go.mongodb.org/mongo-driver/bson"    "go.mongodb.org/mongo-driver/bson/primitive"    "log")type StateRow struct {    _id primitive.ObjectID `bson:"_id"`    Id int `bson:"id"`    State int `bson:"state"`}func GetMessageStateByUserID(id int) int {    client := getInstance()    stateCollection := client.Database.Collection("MessageStates")    var result = StateRow{}    filter := bson.D{{"id", id}}    err := stateCollection.FindOne(client.Ctx, filter).Decode(&result)    if err != nil {        return 0    }    return result.State}
查看完整描述

1 回答

?
慕姐8265434

TA贡献1813条经验 获得超2个赞

您正在将文档插入到集合中,并尝试从 中获取数据。MessagesStatesMessageStates


// Getting the data from here

client.Database.Collection("MessageStates")

// Saving the data here

client.Database.Collection("MessagesStates")


查看完整回答
反对 回复 2022-08-30
  • 1 回答
  • 0 关注
  • 94 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

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

帮助反馈 APP下载

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

公众号

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