我正在尝试使用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控制台输出中。
该程序还打印出“保存成功。”,但是当我使用db.database.find();
从mongo shell检查情况时,我可以看到数据库仍然是空的。
为什么不保存对象?
答案 0 :(得分:2)
我尝试了你的代码,它对我来说很好。您是否在寻找适合您数据的地方?
连接您的mongo shell并尝试以下操作:
use database;
db.compos.find()