【发布时间】:2016-01-23 17:01:36
【问题描述】:
我正在编写一个定义 Mongoose 模型的命令行节点脚本,然后使用该模型创建一个新文档,然后保存它。但是.save(function(){...}); 方法似乎还没有完成。它将文档保存在 Mongo 中,但脚本只是坐在那里并没有完成。它永远不会返回到命令提示符:
var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/mydb');
var schema = new mongoose.Schema({
name: String,
street: String
});
var Location = mongoose.model('Location', schema);
var location = new Location({name: "Home", street: "Main Street"});
location.save(function(err){
if (err) {
throw new Error(err);
}
console.log(location);
});
结果在终端是:
{ __v: 0,
name: 'Home',
street: 'Main Street',
_id: 562b062d0ce456a912ee9559 }
但是终端就在那里。我必须按 CTRL+C 才能返回命令提示符。关于.save() 方法的某些内容似乎使脚本挂起......但文档确实保存在数据库中。我在这里错过了什么?
【问题讨论】: