You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Mongoose 7.3.1打印MongoDB数据库中的文档

解决Mongoose打印Query对象而非数据库文档的问题

你看到的Query对象是Mongoose查询的未执行实例——Fruit.find({})本身不会直接执行查询,而是返回一个可链式调用的Query对象,必须触发执行才能获取数据库中的实际文档。以下是几种可行的解决方案:

方法1:使用回调函数

在find方法中传入回调函数,查询完成后会将结果传入回调参数:

Fruit.find({}, (err, fruits) => {
  if (err) {
    console.error('查询出错:', err);
  } else {
    console.log('数据库中的水果文档:', fruits);
    // 按需关闭数据库连接
    mongoose.connection.close();
  }
});

方法2:使用async/await(推荐)

将查询放在异步函数中,用await等待查询执行完成:

async function fetchFruits() {
  try {
    const fruits = await Fruit.find({});
    console.log('数据库中的水果文档:', fruits);
    mongoose.connection.close();
  } catch (err) {
    console.error('查询出错:', err);
  }
}

fetchFruits();

方法3:使用exec()方法

通过exec()方法执行Query对象,返回Promise后用then/catch处理结果:

Fruit.find({})
  .exec()
  .then(fruits => {
    console.log('数据库中的水果文档:', fruits);
    mongoose.connection.close();
  })
  .catch(err => console.error('查询出错:', err));

内容的提问来源于stack exchange,提问作者Hemant

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 12:05:42