返回顶部
首页 > 资讯 > 后端开发 > GO >能否把整个布局存储在MongoDB中?
  • 651
分享到

能否把整个布局存储在MongoDB中?

2024-04-05 00:04:27 651人浏览 独家记忆
摘要

小伙伴们有没有觉得学习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

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作