我一直在努力探索如何将MongoDB与Node结合使用.在文档中,建议的方法似乎是使用回调.现在,我知道这只是偏好的问题,但我真的更喜欢使用promise .

问题是我没有找到如何在MongoDB中使用它们.事实上,我试过以下方法:

var MongoClient = require('mongodb').MongoClient;

var url = 'mongodb://localhost:27017/example';

MongoClient.connect(url).then(function (err, db) {
    console.log(db);
});

结果是undefined.在这种情况下,似乎不是这样做的.

有没有办法在 node 内部使用mongo db,而不是回调?

推荐答案

你的方法几乎是正确的,只是你论点中的一个小错误

var MongoClient = require('mongodb').MongoClient
var url = 'mongodb://localhost:27017/example'
MongoClient.connect(url)
  .then(function (db) { // <- db as first argument
    console.log(db)
  })
  .catch(function (err) {})

Node.js相关问答推荐

NX无法使用缓存运行根级脚本

node 上的磁盘压力

Twilio-获取呼叫录音不起作用的请求

使用xml-crypto时出现NodeJS XPath解析错误

Mongoose-如何从父文档填充到子文档

Sequelize-测试使用虚拟场更新模型

如何修复我的 NodeJS SSE 写入函数以在后续调用中更新 HTML?

suppress AWS SDK v2 弃用消息

获取用户 ID 后,Firebase 函数 onCreate 方法在 Firestore 上不起作用

在 Express.js 中迭代子文档数组

NodeJs 过滤掉目录异步

如何限制 cron 表单将消息推送到 RabbitMQ?

bash:npm:找不到命令?

AWS Kinesis 中的分区键是什么?

NodeJS为exec设置环境变量

如何在不全局安装的情况下在 Node REPL 中要求 node 模块?

- configuration.output.path:提供的值public不是绝对路径!使用 Webpack

Heroku + Node:找不到模块错误

Puppeteer 等待所有图像加载然后截图

什么时候应该将函数存储到变量中?