当前位置: 首页 > 面试题库 >

如何在Node.js中使用带有承诺的MongoDB?

佘飞鸣
2023-03-14
问题内容

我一直在尝试发现如何将MongoDB与Node.js一起使用,并且在文档中似乎建议的方法是使用回调。现在,我知道这只是一个优先事项,但我真的更喜欢使用诺言。

问题是我没有找到如何在MongoDB中使用它们。确实,我已经尝试了以下方法:

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

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

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

结果是undefined。在那种情况下,看来这不是这样做的方法。

有什么方法可以在Node内部使用带有promise而不是回调的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中删除? 问题答案: node.js中的承诺承诺会做一些工作,然后有单独的回调,将为成功和失败以及处理超时而执行。在node.js中考虑promise的另一种方式是,它们是可能仅发射两个事件的发射器:成功和错

  • 问题内容: 版本7中的Node.js具有用于处理promise的async / await语法糖,现在在我的代码中经常出现以下警告: 不幸的是,没有提到丢失渔获物的那一行。有没有找到所有方法而不检查每个try / catch块的方法? 问题答案: 监听进程事件。

  • 问题内容: 我知道如何处理Promise中的特定错误,但有时我会看到一些类似以下的代码: 有时,我收到无效的JSON,这会在 s 时导致无提示失败。总的来说,我必须记住在代码中的每个promise中都添加一个处理程序,而当我不这样做时,我将无法找出我忘记了什么的地方。 如何在代码中找到这些被抑制的错误? 问题答案: 在现代NodeJS中 从io.js 1.4和Node 4.0.0开始,您可以使用以

  • 问题内容: 我正在使用promis模块从请求模块返回我的json数据,但是每次运行它时,它都会为我提供此信息。 我无法正常工作,有人知道这个问题吗?这是我的代码: 问题答案: 许诺是充当未来价值的占位符的对象。您的函数返回该Promise对象。通过将处理程序附加到promise,您可以在promise中获得未来的价值: 这是异步代码,因此,仅能通过处理程序来获得承诺的价值。 修改清单: 在返回的p

  • 问题内容: 在这里,我试图绕过Promise.Here在第一个请求时获取一组链接。在下一个请求时,我获取第一个链接的内容。但是我想在返回下一个Promise对象之前进行延迟。所以我使用setTimeout就可以了,但是它给了我下面的JSON错误( ) SyntaxError:JSON.parse:JSON数据的第1行第1列出现意外字符 我想知道为什么会失败? 问题答案: 为了保持承诺链的进行,您不

  • 问题内容: 以下是用于从共享点检索信息的控制器。我可以看到调试显示条目具有需要在视图中呈现的属性值。我如何从结果承诺中获得那个价值? 我试图将其放入柜台,但没有显示。任何帮助,将不胜感激。 问题答案: 不要使用jQuery ,而要使用$ http服务: 然后从返回的promise中提取数据: $ http服务返回的promise已与AngularJS框架集成。只有在AngularJS执行上下文中应