在mongo db中看不到数据

时间:2019-02-21 02:28:24

标签: angular mongodb

这是我将数据插入到mongo数据库中的方式:

router.post('/', function (req, res, next) {
    var email = req.body.email;
    var user = new User({
        firsName: 'Juan',
        lastName: 'Dela Cruz',
        password: 'super-secret',
        email: email
    });
    user.save();
    res.redirect('/');
});

这是我的联系方式:

var mongoose = require('mongoose');

var appRoutes = require('./routes/app');

var app = express();
// mongoose.connect('localhost:27017/node-angular');
mongoose.connect('mongodb://localhost:27017/node-angular');

这是我创建模式的方式:

var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var mongooseUniqueValidator = require('mongoose-unique-validator');

var schema = new Schema({
    firstName: {type: String, required: true},
    lastName: {type: String, required: true},
    password: {type: String, required: true},
    email: {type: String, required: true, unique: true},
    messages: [{type: Schema.Types.ObjectId, ref: 'Message'}]
});

schema.plugin(mongooseUniqueValidator);

module.exports = mongoose.model('User', schema);

我以具有管理特权的命令提示符在此命令中启动mongodb:

  

'C:\ WINDOWS \ system32>“ C:\ Program   Files \ MongoDB \ Server \ 4.0 \ bin \ mongo.exe“'

然后我尝试使用以下命令访问它:

  

使用节点角

     

切换到数据库节点角度

     

db.users.find()

但是我没有在数据库中得到数据。我什至不知道我是否已成功更新数据库。你能告诉我如何做到这一点吗?谢谢。

2 个答案:

答案 0 :(得分:2)

一切都很好。您只需要将集合名称的首字母更改为大写即可。

而不是

db.users.find();

使用

db.Users.find();

希望有帮助...

答案 1 :(得分:1)

save函数有一个回调。尝试使用它,并检查是否可以跟踪某些错误。您可以执行以下操作。

user.save(function (err) { 
    if (err) return handleError(err); 
    // saved!
  });