2013-05-09 74 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);