爲什麼JSON格式的數據存儲在MongoDB中?這是MongoDB中唯一支持的格式嗎?使用JSON在MongoDB中存儲記錄的優點是什麼?在Mong DB中使用JSON比其他格式有什麼好處?爲什麼在MongoDB中使用JSON?
回答
實際上,Mongo使用BSON,它可以表示與JSON相同的東西,但佔用的空間更少。 「JSON」(就像人類的表示)在NoSQL數據庫中有一些有用的屬性:
- 不需要固定模式。你可以添加任何你想要的,這將是正確的JSON。
- 有解析器幾乎可用於任何編程語言。
- 該格式是程序員友好的,而不是像一些替代品...我在看你,XML¬¬。
- Mongo需要理解數據,而不強制使用「集合模式」。如果使用JSON,則不需要關於該對象的信息來推理它。例如,您可以獲取任何JSON文檔的「標題」或「年齡」,只需找到該字段即可。對於其他格式(例如協議緩衝區),這是不可能的。至少沒有很多代碼...
- (已增加)因爲Mongo是一個數據庫,他們希望快速進行查詢。 BSON/JSON是一種可以同時滿足這個需求和其他需求(易於實現,可以反映數據,解析速度,沒有固定模式等)的格式。
- (已補充)Mongo爲他們的查詢重用了一個Javascript引擎,所以它在世界上都有重用JSON用於對象表示的意義。 BSON是該格式的更緊湊的代表。
雖然它確實使用BSON,而BSON與JSON確實有很好的1-1,但爲什麼選擇「JSON」,大部分觀點沒有意義。例如。 1)XML不需要固定的模式; 2)有很多XML解析器; 3)使用XML工具使XML編程友好; 4)模式(或缺少)是一個獨立的問題。基本上,任何動態鍵控分層格式都可以在大多數(如果不是全部的話)這些點上選擇 - XML,JSON,YAML等。 – user2864740
(但回到使用BSON的點 - 我認爲「答案「這個問題的重點在於* Mongo如何處理這樣的分層數據,而不是它如何被編碼或可視化。) – user2864740
沒有模式的XML沒有任何意義,它只是一堆等待有意義的字節。當然,這裏有成功的XML數據庫,但還有一點: JSON/BSON格式比較簡單,生成的文檔不如XML文檔冗長。 XML文檔往往會增長很多(與JSON/BSON相比),並且解析器很難正確寫入,而且更糟糕:它們往往會變得更慢:如果數據更長並且解析器邏輯更復雜,那麼CPU將會有一段糟糕的時間,有很多緩存未命中和分支預測失誤。 – estebarb
- 1. 爲什麼在MongooseJS/MongoDB中使用.update?
- 2. 爲什麼在MongoDB中使用分片?
- 3. 爲什麼在MongoDB中使用鎖定?
- 4. 爲什麼mongoDB使用objectID?
- 5. 爲什麼使用MongoDB中的MapReduce
- 6. 爲什麼MongoDB在這裏使用scanAndOrder?
- 7. 在Twisted中使用MongoDB。爲什麼我不應該使用pymongo?
- 8. 在MongoDB中使用JSON?
- 9. 什麼時候在mongodb中使用BSON?
- 10. 什麼指數爲MongoDB中
- 11. 爲什麼MongoDb在更新
- 12. 爲什麼db.collection.findOne()比db.collection.find [1]在MongoDB中
- 13. 爲什麼在mongodb中使用$ all會慢很多?
- 14. 爲什麼我必須在mongoDB查詢中使用+
- 15. 爲什麼使用pymongo這個查詢在MongoDB中變慢?
- 16. 爲什麼要在Mongodb中使用關係?
- 17. GrayLog2中使用MongoDB有什麼用途?
- 18. mongodb使用什麼索引?
- 19. 爲什麼選擇Thrift,爲什麼不使用HTTP RPC(JSON + gzip)
- 20. 爲什麼在MVC應用程序中使用JSON?
- 21. 爲什麼不使用JSON進行SOAP?
- 22. 爲什麼不能使用JSON工作?
- 23. 在Spring Data MongoDB中使用JSON文本文件的目的是什麼?
- 24. 爲什麼我們在android中使用JSON?
- 25. 爲什麼JSON不能在Javascript中使用?
- 26. 爲什麼boolean true在IE中必須使用JSON方法?
- 27. 我在jQuery中使用JSON獲取undefined爲什麼?
- 28. 爲什麼我在使用JSON的.NET webservice中獲取Error StreamReader?
- 29. 爲什麼在JSON響應中使用類型
- 30. 爲什麼在剃刀視圖頁面中使用JSON編碼?
JSON定義明確,友好且通用。在技術層面上,任何樹/層次結構格式都是足夠的。 – user2864740
MongoDB是網絡規模和JSON在網絡上使用。 –
@ user2864740是MongoDB支持的XML格式。 – kaduva