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

Monk - Where goes the data after a query?

我今天开始使用 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()的return值呢?

奖金:除了 findOne() 之外,还有其他功能可以检查数据库中是否存在该值吗?

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

几件事:

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

在您的 .then 中,docfindOne()

的 return 值

另外,参考@Geert-Jan 的评论,promise 可能被拒绝了,而你没有抓住它。

试试这个:

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

我还要补充一点,findOne() 不是 return 游标,它 return 是一个文档。