我正在尝试从mongodb获取数据到golang程序。但是我不知道为什么接收到的数据不完整。
package main
import (
"context"
"fmt"
"log"
"go.mongodb.org/mongo-driver/bson"
"go.mongodb.org/mongo-driver/mongo"
"go.mongodb.org/mongo-driver/mongo/options"
)
func main() {
ctx := context.Background()
clientOptions := options.Client().ApplyURI("mongodb://localhost:27017")
client, err := mongo.Connect(ctx, clientOptions)
if err != nil {
log.Fatal(err)
}
err = client.Ping(ctx, nil)
if err != nil {
log.Fatal(err)
}
fmt.Println("Connected to MongoDB!")
db := client.Database("testDB")
col := db.Collection("testcs")
type Dataa struct {
ID bson.RawValue `bson:"_id"`
data string `bson:"data"`
number int `bson:"number"`
}
filter := bson.M{"number": 2}
var p Dataa
if err := col.FindOne(ctx, filter).Decode(&p); err != nil {
log.Fatal(err)
}
fmt.Printf("post: %+v\n", p)
}
接收的数据是: 帖子:{ID:{“ $ oid”:“ 5cf64ca8d95df708be0ed503”}数据:number:0}
但是“数据”值应为“ ABCEX”,“数字”值应为2 就像我添加到mongodb中一样。
你们能帮助我找出问题所在吗?谢谢!