我试图找出是否可以使用Mongoose在MongoDB中创建一个新数据库。我在Node上运行,我知道Node的MongoDB驱动程序可以做到,但我想知道我是否可以从Mongoose那里做到。
Mongoose中的Node MongoDB驱动程序是否有等效的db.createCollection(name, options)
?我的谷歌技能现在失败了。
我只是想弄清楚我是否必须为此安装整个MongoDB驱动程序,但我想我会这样做。
答案 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();