gpt4 book ai didi

node.js - 使用 mongoose 时在 mongodb 中找不到 Db

转载 作者:可可西里 更新时间:2023-11-01 10:27:06 26 4
gpt4 key购买 nike

以下代码在输出 enter image description here 时工作得很好.

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!!!!');
});

但是当我尝试在连接字符串 (ie)trial1 中搜索数据库时,我无法找到它,屏幕截图如下。 enter image description here

此外,当我在 mongo shell 中说“使用 trial1”时,我得到了如下屏幕截图所示的输出。 enter image description here这意味着数据库存在或已创建。为什么我看不到那个数据库??

最佳答案

所以是的,答案在 Blakes 的评论中,也是 Pio 的部分答案。

您看不到数据库,因为您的 Mongoose 代码实际上并未在其中创建任何用户。当您实例化模型用户时,它将在内存中而不是在数据库中创建。要将您的用户插入数据库,您必须像这样在您的实例上调用方法保存:

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 中您将看不到数据库,因为它是空的,因此不存在。

关于node.js - 使用 mongoose 时在 mongodb 中找不到 Db,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32862056/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com