繁体   English   中英

如何在 C# 中从 MongoDB 以正确的 JSON 格式检索数据

[英]How to retrieve data in proper JSON format from MongoDB in C#

我想从 C# .Net Web API 中的 mongoDB 检索集合的所有文档。 下面的代码工作正常,但它正在返回 BsonDocument

var client = new MongoClient(connectionString);
var db = client.GetDatabase("STRDB");
var mongoCollection = db.GetCollection<BsonDocument>(collection);
var documents = mongoCollection.AsQueryable();
return Ok(documents);

从上面的代码我得到以下格式的数据(在 JSON.stringify() 之后)

[  
   [  
      {  
         "name":"_id",
         "value":"5de9f351baca28556c6a4b71"
      },
      {  
         "name":"Name",
         "value":"Harsha"
      },
      {  
         "name":"Age",
         "value":20
      },
      {  
         "name":"Gender",
         "value":"M"
      },
      {  
         "name":"Skills",
         "value":[  
            {  
               "name":"Java",
               "value":""
            },
            {  
               "name":"Mule",
               "value":true
            },
            {  
               "name":"Angular",
               "value":""
            }
         ]
      }
   ],
   [  
      {  
         "name":"_id",
         "value":"5de9f358baca28556c6a4b72"
      },
      {  
         "name":"Name",
         "value":"Anji"
      },
      {  
         "name":"Age",
         "value":21
      },
      {  
         "name":"Gender",
         "value":"M"
      },
      {  
         "name":"Skills",
         "value":[  
            {  
               "name":"Java",
               "value":""
            },
            {  
               "name":"Mule",
               "value":true
            },
            {  
               "name":"Angular",
               "value":true
            }
         ]
      }
   ]
]

如何以正确的 JSON 格式接收它或如何在 JSON 中转换此 BSON 文档,因为我无法处理此输出。

尝试以下操作,并进行转换。

var client = new MongoClient(connectionString);
var db = client.GetDatabase("STRDB");
var mongoCollection = db.GetCollection<BsonDocument>(collection);
var documents = mongoCollection.AsQueryable();
return Ok(documents.ToList().ConvertAll(BsonTypeMapper.MapToDotNetValue));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM