var mongoose=require('mongoose');
var dbUrl='mongodb://localhost:27017/trial1';
mongoose.connect(dbUrl);
//Creating schema
var userSchema=new mongoose.Schema({
name:String,
email:String,
createdOn:Date
});
mongoose.model('User',userSchema);
var User=mongoose.model('User');
var userOne=new User({name:'Mike'});
console.log(userOne.name);
mongoose.connection.on('connected',function(){
console.log('mongoose connected to '+dbUrl);
});
mongoose.connection.close(function(){
console.log('connection closed!!!!');
});
但是,当我尝试在连接字符串(即trial1)中搜索db时,无法找到它,屏幕截图如下。
另外,当我在mongo shell中说“ use trial1”时,我将获得以下屏幕截图所示的输出。这意味着该数据库存在或已创建。为什么我看不到那个数据库?
因此,是的,答案在布雷克(Blakes)的评论中,也是皮奥(Pio)的部分答案。
您看不到数据库,因为您的Mongoose代码实际上并未在其中创建任何用户。实例化模型用户时,它将在内存中创建它,但不在数据库中创建它。要将用户插入数据库中,您必须像下面这样调用实例上的save方法:
var userOne=new User({name:'Mike'});
userOne.save(function(err, user){
if (!err) {
console.log('Now my user is saved in the database');
}
})
因此,如果您不保存用户,那么在mongo shell中您将不会看到数据库,因为它是空的,因此不存在。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句