为什么这个node.js + mongoose代码保存到数据库?

我正在学习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服务器没有运行,因为我在ubuntu下安装mongo时没有默认安装/ data / db目录。 创build,启动服务器,一切正常。 解决了。

如果有人发现这个问题是出于同样的原因,那么也许这将有助于:

发现我无法保存一个新的对象到我的collections。 我做了一个名为validate()的模式方法,它干扰了MongoDB的validate()函数,所以这就是为什么它不保存到数据库,并给我零错误。 所以不要在你的schema中命名为validate()的方法。 希望我的哑巴会为你节省很多时间。