我今天开始使用 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()
之外,还有其他函数可以检查数据库中是否存在该值?
对于这些问题,我深表歉意,但是关于僧侣的文档并不多。
答案 0 :(得分:3)
几件事:
在您的示例中,您将movieToProcess
的值设置为movieCollection.findOne()
,同时还对其调用了.then()
。
在您的.then
中,doc
是findOne()
的返回值
还请参阅@ Geert-Jan的评论,该承诺可能已被拒绝,您并没有兑现。
尝试一下:
movieCollection.findOne({ link: videoURL })
.then((doc) => {
console.log(doc)
console.log("BLABLA")
})
.catch((err) => {
console.log(err)
})
我还要补充一点,findOne()
不返回游标,而是返回文档。