2011-04-19 19 views
5

我是面向文檔的數據庫的新手。我的問題是爲什麼我必須在每次啓動應用程序時在MongoDB中聲明模型?例如:MongoDB,Mongoose和Node.js.爲什麼要聲明一個模型?

mongoose.model('User', { 
    collection: 'user', 
    properties: [ 
    'created', 
    'username', 
    'password', 
    'email' 
    ]} //Edited: '}' was missing in original post 
); 

我想要建立所有表一次,並在我的應用程序只飼料或查詢數據。我認爲所有的數據架構都應該通過CLI或者一個特殊的管理員來設置(讓我們說PhpMyAdmin for mySql)。

事實證明,在我的應用程序開始時,每次我聲明一個數據模型。對我來說沒有意義。幫助:)

回答

8

您需要聲明一個模型,因爲本質上MongoDB本身只存儲集合,並且不真正綁定到模式/模型。 Mongoose提供了一種定義模型的方法,但有些驅動程序甚至沒有提供一個(請參閱Candy for Ruby)。這就是擁有面向文檔的數據庫的關鍵。根據需要,您並不是真正綁定到模式並隨時更改數據庫的數據結構。

+0

正如@neebz所說。我認爲要記住面向文檔的數據庫的重要之處在於它更像是一個「對象」存儲。您可以創建任意對象並將它們保存到「集合」中。這意味着沒有預先定義的列(在SQL意義上)。 – shaond 2013-01-09 05:09:39

相關問題