为什么这个node.js + mongoose代码不保存到DB ?

Why doesn't this node.js + mongoose code save to the DB?

本文关键字:保存 DB 代码 mongoose node js 为什么      更新时间:2023-09-26

我正在学习Node.js + mongodb使用一个简单的教程-问题是,我不能得到它保存()。

这是我正在运行的代码:

mongoose = require('mongoose'),
    Schema = mongoose.Schema;
PostSchema = new Schema({
    title: String,
    body: String,
    date: Date
});
mongoose.connect('mongodb://localhost/posterdb');
mongoose.model('Post', PostSchema);
var Post = mongoose.model('Post');
// create a post and save it
var post = new Post();
post.title = 'My first post';
post.body = 'Post body';
post.date = Date.now();
post.save(function(err) {
    console.log('error check');
    if(err) { throw err; }
    console.log('saved');
    mongoose.disconnect();
});

它不会在控制台上打印任何内容。什么好主意吗?

原来我的mongodb服务器没有运行,因为我没有/data/db目录默认安装在ubuntu中安装mongo。创建它,启动服务器,一切正常。解决。

如果有人发现这个问题的原因和我一样,那么这可能会有所帮助:

发现我不能保存一个新对象到我的集合。我做了一个名为validate()的模式方法,它干扰了MongoDB的validate()函数,所以这就是为什么它没有保存到DB并且给了我零错误。因此,不要将模式中的方法命名为validate()。希望我的沉默能帮你节省很多时间。