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

时间:2011-12-07 08:00:41

标签: javascript mongodb 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();
});

它不会在控制台上打印任何内容。有什么想法吗?

2 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:3)

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

发现我无法将新对象保存到我的收藏中。我创建了一个名为validate()的模式方法,它干扰了MongoDB的validate()函数,这就是为什么它没有保存到数据库并且给我零错误。因此,不要在名为validate()的模式中命名方法。希望我的愚蠢能为你节省很多时间。