2012-03-07 24 views
0

我正试图用node.js,Express和MongoDB编写一个简单的web应用程序。我按照Mongoose documentation上的说明操作,但是当我试图写入数据库时​​,我的代码似乎无声无息地失败了。猫鼬静静地失败数据库写入

包括我在我的主app.js下面的代码-file与var db = require("./db")

// db.js 

var mongoose = require('mongoose'); 

var Schema = mongoose.Schema 
    , ObjectId = Schema.ObjectId; 

var server_name = "localhost"; 
var db_name = "database"; 

var db = mongoose.connect('mongodb://'+server_name+'/'+db_name); 
log.debug('Connecting to MongoDB "'+db_name+'" at '+server_name); 

// Database schemas 

var Compo = new Schema({ 
    name : String, 
    description : String 
}); 

var compoModel = mongoose.model('Compo', Compo); 

var compoModelInstance = new compoModel(); 
compoModelInstance.name = "Competition name."; 
compoModelInstance.description = "Competition description."; 

compoModelInstance.save(function (err) { 
    if (err !== null) { 
    console.log(err); 
    } else { 
    console.log("Save successful."); 
    } 
}); 

连接创建成功,因为它在mongod的控制台输出显示出来。 该程序还打印出“保存成功”,但是当我检查从mongo shell的情况与db.database.find();我可以看到数据库仍然是空的。

为什么不保存对象?

+0

您的代码工作得很好...检查你正在寻找正确的地方。如果你仍然面临着同样的问题,然后解释如何你连接到mongo shell以及你在mongo shell中发出什么命令 – 2012-12-28 07:41:18

回答

2

我试过你的代码,它适用于我。您是否在正确的位置查找数据?

与蒙戈外壳

连接和尝试以下操作:

use database; 
db.compos.find() 
+0

呵呵,就是这样,谢谢。 – Pekka 2012-03-07 15:53:56