【发布时间】:2012-12-28 15:41:18
【问题描述】:
我正在尝试使用 node.js、Express 和 MongoDB 编写一个简单的 Web 应用程序。我按照Mongoose documentation 上的说明进行操作,但是当我尝试写入数据库时,我的代码似乎静默失败。
我在我的主 app.js 文件中包含以下代码,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 检查情况时,我可以看到数据库仍然是空的。
为什么没有保存对象?
【问题讨论】:
-
您的代码运行良好...检查您是否在寻找正确的位置。如果您仍然遇到同样的问题,请说明您如何连接到 mongo shell 以及您正在发出哪些命令蒙戈壳