保存剩余的 Json 对象从 http - 正文在蒙哥DB

Go方法应该将任何JSON对象保存在蒙哥数据库中。在代码中,仅保存 ID,而不保存整个对象。如何解决这个问题?


import (

    "context"

    "encoding/json"

    "go.mongodb.org/mongo-driver/bson"

    "net/http"

)



//insert the value to mongoDB without any parsing

func InsertObjectToDatabase(response http.ResponseWriter, request *http.Request) {

    //call database and collection

    currentDatabase := clients.MongoClientForThisMicroservice.Database("APP_MONGO_DB")

    currentCollection := currentDatabase.Collection("APP_MONGO_DB")


    //convert structured data to bson

    bsonBytes, errBsonConvert := bson.Marshal(json.NewDecoder(request.Body))

    if errBsonConvert != nil {

        ErrorResponse(response, errBsonConvert)

        return

    }


    //write values to database

    _, errInsertDatabase := currentCollection.InsertOne(context.TODO(), bsonBytes)

    if errInsertDatabase != nil {

        ErrorResponse(response, errInsertDatabase)

        return

    }


    return

}

结果在蒙哥数据库


{

"_id": {

    "$oid": "611b754fd413ee180f0a3d0a"

}


跃然一笑
浏览 77回答 1
1回答

白板的微信

您需要传递 Go 值,而不是版本。bson.Marshal()例如:var model Modelif err := json.NewDecoder(response.Body).Decode(model); err != nil {        // handle m}_, _ = currentCollection.InsertOne(context.TODO(), model)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go