我正在尝试使用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")
- 1 回答
- 0 关注
- 94 浏览
添加回答
举报
0/150
提交
取消
