是否可以使用Mongoose在MongoDB中创建新数据库?

时间:2015-06-29 21:39:51

标签: node.js mongodb mongoose

我试图找出是否可以使用Mongoose在MongoDB中创建一个新数据库。我在Node上运行,我知道Node的MongoDB驱动程序可以做到,但我想知道我是否可以从Mongoose那里做到。

Mongoose中的Node MongoDB驱动程序是否有等效的db.createCollection(name, options)?我的谷歌技能现在失败了。

我只是想弄清楚我是否必须为此安装整个MongoDB驱动程序,但我想我会这样做。

2 个答案:

答案 0 :(得分:15)

是的,您可以在连接字符串中指定数据库名称。

db = mongoose.connect('mongodb://localhost/dbname2')

只要您使用该连接创建记录,它就会在数据库名称' dbname1'下创建新的数据库和集合。如果要创建新数据库,可以指定其他连接字符串:

^%(pid)s \w+ authenticator failed for (\S+ )?\(\S+\) \[<HOST>\]: 535 Incorrect authentication data( \(set_id=.*\)|: \d+ Time\(s\))?\s*$

这将创建名称为&#39; dbname2&#39;的所有记录。您的文档不会导入到dbname2,如果您想这样做,则必须导入这些记录。希望有所帮助。

答案 1 :(得分:-2)

只需尝试这段代码,它就非常简单干净

const mongoose = require('mongoose');
mongoose.connect('mongodb://localhost:27017/yourdatabasename').then(() => console.log('Connected to MongoDB...')).catch((err) => console.error("Coudn't connect MongoDB....", err));

const customerSchema= new mongoose.Schema({ name: String,address: String,email:String,});

const Customer= mongoose.model('Customer',courseSchema);

async function createNewCustomer() {const customer= new Customer({name: 'new customer',address: 'new address',email: 'customer1@new.com',});const result = await customer.save();console.log(result);
}
createNewCustomer();