小伙伴们有没有觉得学习golang很有意思?有意思就对了!今天就给大家带来《能否把整个布局存储在mongoDB中?》,以下内容将会涉及到,若是在学习中对其中部分知识点有疑问,或许看了本文就能帮到你!
小伙伴们有没有觉得学习golang很有意思?有意思就对了!今天就给大家带来《能否把整个布局存储在mongoDB中?》,以下内容将会涉及到,若是在学习中对其中部分知识点有疑问,或许看了本文就能帮到你!
问题内容我正在尝试为我的简单项目设置一个数据库。由于在 MonGoDB 中你可以保存任何 JSON 文件,我想知道是否有一个简单的解决方案可以直接将结构作为 json 文件保存到 MongoDB?
这是在mongodb数据库中存储结构类型数据的示例代码
要从 mongodb 获取 json 格式的数据,您需要使用 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)
}
}
好了,本文到此结束,带大家了解了《能否把整个布局存储在MongoDB中?》,希望本文对你有所帮助!关注编程网公众号,给大家分享更多Golang知识!
--结束END--
本文标题: 能否把整个布局存储在MongoDB中?
本文链接: https://lsjlt.com/news/595813.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-04-05
2024-04-05
2024-04-05
2024-04-04
2024-04-05
2024-04-05
2024-04-05
2024-04-05
2024-04-04
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0