2013-05-09 41 views
20

如果我在node.js中使用貓鼬我需要做的:如何在貓鼬中創建一個新的數據庫?

var mongoose = require('mongoose'); 
mongoose.connect('mongodb://localhost/myDB'); 

但如果我剛剛安裝的MongoDB和我沒有任何DB的時刻?在做mongoose.connect('mongodb://localhost/myDB')之前,如何在node.js中使用mongoose創建新數據庫?或者如果沒有這樣的myDB那麼它會創建一個新的?或者會拋出一個沒有這樣的數據庫的錯誤?

+0

看看這個http://mongoosejs.com/docs/ – 2013-05-09 10:12:22

+4

我看到有API'createNewDB(...)'嗎?沒有。如何在node.js中使用mongoose創建新的數據庫? – static 2013-05-09 10:24:45

回答

18

它不應該拋出任何錯誤。您在DB的任何新的集合插入文檔的那一刻,收集和數據庫將被創建

+1

那麼,這是指定的URL只分析URL到MongoDB服務器和數據庫名稱?爲什麼不單獨做? – static 2013-05-09 22:01:16

+0

此URL/mongoURI不僅用於指定服務器名稱,還包含許多其他內容。看看這個:http://docs.mongodb.org/manual/reference/connection-string/。你也必須檢查你的客戶端驅動程序,如果他們支持所有。另外,我不是將dbName傳遞給mongoURI,而是叮囑你可以單獨執行。至少在java驅動程序中,我們可以肯定地做到這一點。 – 2013-05-10 00:09:13

0

在貓鼬,當new mongoStore()被調用創建一個新的數據庫記錄:

app.use(session({ 
    resave: false, 
    saveUninitialized: true, 
    secret: pkg.name, 
    store: new mongoStore({ 
     url: config.db, 
     collection : 'sessions' 
    }) 
    })); 

const mongoStore = require('connect-mongo')(session);