和尚-查询后数据在哪里?

时间:2018-09-21 19:45:47

标签: 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()之外,还有其他函数可以检查数据库中是否存在该值?

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

1 个答案:

答案 0 :(得分:3)

几件事:

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

在您的.then中,docfindOne()的返回值

还请参阅@ Geert-Jan的评论,该承诺可能已被拒绝,您并没有兑现。

尝试一下:

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

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