1 回答

TA貢獻(xiàn)1818條經(jīng)驗 獲得超3個贊
這是在MongoDB數(shù)據(jù)庫中存儲結(jié)構(gòu)類型數(shù)據(jù)的示例代碼
要從 mongodb 獲取 JSON 格式的數(shù)據(jù),您可以使用 json.Marshal() 方法
package main
import (
"context"
"fmt"
"log"
"io/ioutil"
"go.mongodb.org/mongo-driver/bson"
"go.mongodb.org/mongo-driver/mongo"
"go.mongodb.org/mongo-driver/mongo/options"
)
type Person struct {
ID int `json:"_id"`
Age int `json:"Age"`
City string `json:"city"`
}
func main() {
clientOptions := options.Client().ApplyURI("mongodb://127.0.0.1:27017")
client, err := mongo.Connect(context.TODO(), clientOptions)
if err != nil {
log.Fatal(err)
}
ctx, _ := context.WithTimeout(context.Background(), 3*time.Second)
fmt.Println("Connected to MongoDB!")
collection := client.Database("db_name").Collection("collection_name")
byteValues, err := ioutil.ReadFile("docs.json")
if err != nil {
fmt.Println("ioutil.ReadFile ERROR:", err)
} else {
fmt.Println("ioutil.ReadFile byteValues TYPE:", reflect.TypeOf(byteValues))
fmt.Println("byteValues:", byteValues, "n")
fmt.Println("byteValues:", string(byteValues))
}
for i := range docs {
doc := docs[i]
fmt.Println("ndoc _id:", doc.ID)
fmt.Println("doc Field Str:", doc.ID)
result, insertErr := col.InsertOne(ctx, doc)
if insertErr != nil {
fmt.Println("InsertOne ERROR:", insertErr)
} else {
fmt.Println("InsertOne() API result:", result)
}
}
- 1 回答
- 0 關(guān)注
- 103 瀏覽
添加回答
舉報