[MongoDB]MongoDB的優缺點及與關係型資料庫的比較
阿新 • • 發佈:2019-01-11
> db.blogposts.ensureIndex( { "comments.by" : 1 } );
舉例③:
MongoDB是一個面向文件的資料庫,目前由10gen開發並維護,它的功能豐富,齊全,完全可以替代MySQL。在使用MongoDB做產品原型的過程中,我們總結了MonogDB的一些亮點:使用JSON風格語法,易於掌握和理解:MongoDB使用JSON的變種BSON作為內部儲存的格式和語法。針對MongoDB的操作都使用JSON風格語法,客戶端提交或接收的資料都使用JSON形式來展現。相對於SQL來說,更加直觀,容易理解和掌握。
Schema-less,支援嵌入子文件:MongoDB 是一個Schema-free的文件資料庫。一個數據庫可以有多個Collection,每個Collection是Documents的集合。Collection和Document和傳統資料庫的Table和Row並不對等。無需事先定義 Collection,隨時可以建立。
Collection中可以包含具有不同schema的文件記錄。這意味著,你上一條記錄中的文件有3個屬性,而下一條記錄的文件可以有10個屬性,屬性的型別既可以是基本的資料型別(如數字、字串、日期等),也可以是陣列或者雜湊,甚至還可以是一個子文件(embed document)。這樣,可以實現逆規範化(denormalizing)的資料模型,提高查詢的速度。
舉例③:
MongoDB是一個面向文件的資料庫,目前由10gen開發並維護,它的功能豐富,齊全,完全可以替代MySQL。在使用MongoDB做產品原型的過程中,我們總結了MonogDB的一些亮點:使用JSON風格語法,易於掌握和理解:MongoDB使用JSON的變種BSON作為內部儲存的格式和語法。針對MongoDB的操作都使用JSON風格語法,客戶端提交或接收的資料都使用JSON形式來展現。相對於SQL來說,更加直觀,容易理解和掌握。
Schema-less,支援嵌入子文件:MongoDB
Collection中可以包含具有不同schema的文件記錄。這意味著,你上一條記錄中的文件有3個屬性,而下一條記錄的文件可以有10個屬性,屬性的型別既可以是基本的資料型別(如數字、字串、日期等),也可以是陣列或者雜湊,甚至還可以是一個子文件(embed document)。這樣,可以實現逆規範化(denormalizing)的資料模型,提高查詢的速度。