node.js - Monk - 查询后数据去了哪里?

标签 node.js mongodb express monk

我今天开始使用Monk,有一些东西我不太明白,而且文档太少了。

首先是代码:

    const movieToProcess = movieCollection.findOne({ link: videoURL }).then((doc) => {
        console.log(doc)
        console.log("BLABLA")
    });
    console.log("CURSOR", typeof(movieToProcess))

首先,我不明白为什么 Promise .then() 中的两个 console.log 没有显示,这正常吗?如果是这样,为什么?

如果 console.logs 不起作用是不正常的,这是为什么?

最后,那么如何获取findOne()的返回值呢?

奖励:除了 findOne() 之外,还有其他函数来检查数据库中是否存在该值吗?

对于这些问题,我深表歉意,但 Monk 的文档并不多。

最佳答案

一些事情:

在您的示例中,您将 movieToProcess 设置为 movieCollection.findOne() 的值,同时还对其调用 .then()

.then中,docfindOne()的返回值

此外,引用@Geert-Jan 的评论,该 promise 可能被拒绝,而您没有捕获它。

试试这个:

movieCollection.findOne({ link: videoURL })
  .then((doc) => {
      console.log(doc)
      console.log("BLABLA")
  })
  .catch((err) => {
      console.log(err)
  })

我还要补充一点,findOne() 不返回光标,而是返回文档。

关于node.js - Monk - 查询后数据去了哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52450226/

相关文章:

javascript - MongoDB shell脚本使用投影格式化日期并获取本地时间

计划中的 MongoDB SHARDING_FILTER

express - 使用 Redis 和 JWT 的 Socket.io 用户 session

javascript - 如何在 Pug 中定义内联变量

node.js - MongoDB 和 MongoJS - 无法让 runCommand 用于文本查询

node.js - Firebase写入 "0"而不是实际的变量内容

java - Spring 数据 : Unique field in MongoDB document

node.js 检查 mongoose 中的重复值

node.js - 将文件转换为 Base64 通过 API 发送

node.js - Google Page Speed Insights - 基本身份验证