这一定是用户错误,但我尽可能地减少了这个例子,而我却无法发现它。
这里我做了一个简单的查询,它使用结果调用回调而没有错误。然而,该计划后来挂起;它永远不会退出。
import mongoose from "mongoose";
const someSchema = new mongoose.Schema({
name: String
});
const M = mongoose.model("someSchema", someSchema);
mongoose.connect("mongodb://localhost", err => {
console.error("connection error", err);
M.find({}, (queryError, result) => console.log("result:", result, "error:", queryError));
});
结果:
connection error undefined
result: [ { _id: 55ffada74fb9958d13ec7c4b, name: 'asdf', __v: 0 } ] error: null
(程序挂起而不是退出)
我确定我忽略了一些非常基本的东西,但我无法在指南中发现它,并且处理周围的事情并不是很有帮助。真正奇怪的是,我有一堆比较复杂的Mongoose模型。
答案 0 :(得分:1)
您的程序将保持打开状态,直到您关闭MongoDB连接(但是,这并不意味着它"挂起")。完成后,只需输入mongoose.disconnect();
,脚本就会退出。
mongoose.connect("mongodb://localhost", err => {
console.error("connection error", err); // TODO better handle error
M.find({}, (queryError, result) => {
console.log("result:", result, "error:", queryError);
mongoose.disconnect();
});
});