gpt4 book ai didi

node.js - Mongoose model.save() 挂起

转载 作者:可可西里 更新时间:2023-11-01 10:00:35 25 4
gpt4 key购买 nike

我正在开发一个定义 Mongoose 模型的命令行 Node 脚本,然后使用该模型创建一个新文档,然后保存它。但是 .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() 方法的一些事情似乎使脚本挂起......但是文档确实保存在数据库中。我在这里缺少什么?

最佳答案

数据库连接仍然打开并监听事件。要结束脚本,您需要关闭它:

location.save(function(err){

if (err) {
throw new Error(err);
}

console.log(location);
mongoose.connection.close();
});

关于node.js - Mongoose model.save() 挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33314527/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com