Jak*_*son 2 mongoose mongodb node.js
我正在处理一个定义 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);
});
Run Code Online (Sandbox Code Playgroud)
结果在终端是:
{ __v: 0,
name: 'Home',
street: 'Main Street',
_id: 562b062d0ce456a912ee9559 }
Run Code Online (Sandbox Code Playgroud)
但随后终端就坐在那里。我必须按 CTRL+C 才能返回命令提示符。关于该.save()方法的某些内容似乎使脚本挂起...虽然该文档确实保存在数据库中。我在这里缺少什么?
数据库连接仍然打开并监听事件。要结束脚本,您需要关闭它:
location.save(function(err){
if (err) {
throw new Error(err);
}
console.log(location);
mongoose.connection.close();
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1951 次 |
| 最近记录: |