使用C#將json字符串作為對象存入MongoDB


      開通博客園很久了,一直想寫點東西,表達從博客園中向各位前輩學到的知識的回饋,如果能夠幫助新人(自己也還是個新人)就更好了,但總是因為拿時間作為借口,一直擱置下來,今天剛好在工作中碰到一個小問題,並愉快的解決了,權當將其記錄下來,供人查閱,首先聲明本人是個忠實的微軟技術愛好者,主要使用的也是.NET語言。下面進入正題。

     今天在向mongodb中導數據的過程中,使用了MongoDB官方的驅動(可以在Nuget中直接安裝),然后讀取一個json字符串並將其直接寫入到mongdb中,就是普通的mongdb操作,本以為不會有什么問題,誰知通過mongovue客戶端打開一看,只是存入了一個string類型的對象,mongdb並沒有自動解析成Document對象,難道要先將json字符串解析成對象?於是導入了Newton,由於懶的創建一個類來解析json,所以使用了JsonConvert.DeserializeObject(json)將json轉換成一個匿名的JObject對象然后導入mongodb中,誰知問題更大,雖然mongdb中已經變成了Document對象,但是變成了結構完全一致,key value全是JObject JProperty等等不知所雲的對象,百思不得其解,折騰了半天也沒有得到結果,百度半天還是沒有結果,然后Bing了一下,在stackoverflow中找到這么一句話BsonDocument document = BsonDocument.parse(json);出處為(http://stackoverflow.com/questions/5624934/convert-string-into-mongodb-bsondocument)。於是趕緊測試將json轉為BsonDocument 然后再導入mongodb,發現完美解決了這個問題。看樣子還是對mongodriver不太熟悉造成的。

      在這里我僅是記錄下今天工作中遇到的問題,由於第一次寫博客,可能表達的不是很清晰,總之希望借此篇來開始自己的博客園之旅,歡迎提出寶貴意見,共同學習。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM