亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用 MongoDB C# 客戶端驅動程序將復雜的嵌套 JSON 數據結構保存到

如何使用 MongoDB C# 客戶端驅動程序將復雜的嵌套 JSON 數據結構保存到

C#
呼喚遠方 2022-06-12 10:47:07
我有一個復雜的嵌套 JSON 數據結構,下面保存在文件 data.json 中。減少了數據結構,但這將適用于所有 json 數據結構。我將 json 讀取并反序列化為 C# 模型。然后我使用 MongoDB C# 客戶端驅動程序將對象/數據寫入 MongoDB 你如何將這個復雜的對象/數據/模型保存到 MongoDB?復雜的嵌套數據結構,data.json 文件    [      {        "property_1": "value_1",        "property_2": "value_2",        "property_3": {          "_some_property_1": 1,          "_some_property_2": "some_value_2",          "some_property_3": "some_value_3",          "some_property_4": "some_value_4"        },        "property_4": "value_4",        "property_5": "value_5",        "iproperty_6": "Nvalue_6",        "property_7": "value_7",        "property_8": "value_8",        "property_9": "value_9"      }    ]C# ASP.NET Web Api 演示代碼    namespace DemoWebApi.Controllers    {        public class ValuesController : ApiController        {            // GET api/values            public void Get()            {                var models = CreateModels();                var client = new MongoClient("mongodb://localhost:27017/admin");                var database = client.GetDatabase("TestDB");                /*                THIS DOES NOT WORK                    IMongoCollection<MODEL> collection = database?.GetCollection<MODEL>("TestCollection");                                collection.InsertMany(models);               */            }
查看完整描述

1 回答

?
慕桂英3389331

TA貢獻2036條經驗 獲得超8個贊

在隊友的幫助下,這行得通。將您的模型序列化BsonDocument并傳遞BsonDocument給 MongoDB C# 驅動程序插入方法。通過這種方式,您可以使用您的 C# POCO 對象,直到您想要將其持久化到 MongoDB,然后您將其序列化為BsonDocument數組或BsonDocument保存它。因為這個復雜的模型BsonDocument[]解決了我的問題


用這個形狀和結構保存一個復雜的json模型,比下面這個形狀和結構復雜到MongoDB


//Complex json collection/array shape and structure to save as is in MongoDB


    [

      {

        "property_1": "value_1",

        "property_2": "value_2",

        "property_3": {

          "_some_property_1": 1,

          "_some_property_2": "some_value_2",

          "some_property_3": "some_value_3",

          "some_property_4": "some_value_4"

        },

        "property_4": "value_4",

        "property_5": "value_5",

        "iproperty_6": "Nvalue_6",

        "property_7": "value_7",

        "property_8": "value_8",

        "property_9": "value_9"

      }

    ]






// This works - code snippets

 /*Create a collection of C# POCO from for the json.

 // My assumption is you can create C# objects/collections from complex json shape and structure

 //   Serialize to MongoDB BsonDocument and save*/


        var models = new List<Model>{ new Model()}; // Create C# collection from json

        string text = JsonConvert.SerializeObject(models);

        var bsonDocument = BsonSerializer.Deserialize<BsonDocument[]>(text);

        var client = new MongoClient("mongodb://localhost:27017/admin");

        var database = client.GetDatabase("TestDB");

        IMongoCollection<BsonDocument> collection = database?.GetCollection<BsonDocument>("TestCollection");

        collection.InsertMany(bsonDocument);


查看完整回答
反對 回復 2022-06-12
  • 1 回答
  • 0 關注
  • 295 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號