javascript - Mongoose 查询在回调后挂起

标签 javascript mongoose

这肯定是用户错误,但我已经尽可能减少了示例,但我就是找不到它。

这里我做了一个简单的查询,它调用回调并返回结果并且没有错误。然而,程序随后就挂起了;它永远不会退出。

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 模型正在其他地方工作。

  • Mongoose :^4.0.5
  • 巴别塔节点:5.8.20

最佳答案

您的程序将保持打开状态,直到您关闭 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();
    });
});

关于javascript - Mongoose 查询在回调后挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32689429/

相关文章:

javascript - 如果一组不匹配,如何设置 NULL?

node.js - 如何使用另一个集合 Mongoose 查找子查询文档

javascript - 获取另一个地理坐标和距离

node.js - 正则表达式搜索错误

javascript - Angular 5 中的循环依赖性错误

javascript - 在 CRM 2011 中从 JavaScript 执行工作流

javascript - 如何更新具有嵌套层次结构的嵌入文档?

node.js - Mongoose - 使用单个集合的多个模式

javascript - 使用 colorValue 的 Highcharts 饼图切片颜色强度

javascript - 数组未在 firebase 中更新一次()