Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 猫鼬没有按我所希望的方式工作_Javascript_Node.js_Mongodb_Express_Mongoose - Fatal编程技术网

Javascript 猫鼬没有按我所希望的方式工作

Javascript 猫鼬没有按我所希望的方式工作,javascript,node.js,mongodb,express,mongoose,Javascript,Node.js,Mongodb,Express,Mongoose,我正在制作一个应用程序,用户可以记录他们的睡眠时间、饮食习惯等,并将其存储在一个名为日志的集合中 当用户单击“stats”时,它会触发一个名为find()的函数,该函数将查找用户提交的所有日志实体,并将其记录在控制台日志中 这就是我到目前为止所做的: exports.stats = function(req, res) { function find() { Journal.findOne({'user': req.params.id}, 'sleep', functi

我正在制作一个应用程序,用户可以记录他们的睡眠时间、饮食习惯等,并将其存储在一个名为日志的集合中

当用户单击“stats”时,它会触发一个名为find()的函数,该函数将查找用户提交的所有日志实体,并将其记录在控制台日志中

这就是我到目前为止所做的:

exports.stats = function(req, res) {

    function find() {
        Journal.findOne({'user': req.params.id}, 'sleep', function(err, journal){
            if(err) throw err;
            console.log(journal.sleep);    
        });
    }
    find();
}
在本例中,我试图通过控制台记录特定用户的睡眠小时数,但是,它只显示该会话的睡眠小时数,而不是他们记录的所有睡眠小时数

您应该使用
.find()
而不是
.findOne()

findOne
仅表示1记录

fineOne
文档-

大概是这样的:

Journal.find( { 'user': req.params.id }, function(err, journal){...})
您应该使用
.find()
而不是
.findOne()

findOne
仅表示1记录

fineOne
文档-

大概是这样的:

Journal.find( { 'user': req.params.id }, function(err, journal){...})

我试过了,但是现在控制台日志显示“undefined”find和findOne接受不同的参数,例如attachedI将第一行更改为:Journal.find({'user':req.params.id},function(err,Journal){但我仍然没有定义Journal.find返回一个array@Cr.好的,但是您能告诉我如何停止获取未定义的错误吗?我尝试过,但现在控制台日志显示“未定义”find和findOne接受不同的参数,示例attachedI将第一行更改为:Journal.find({'user':req.params.id},function(err,Journal){但我仍然没有定义Journal.find返回一个array@Cr.好的,但您能告诉我如何停止获取未定义的错误吗?您的“函数
find()
不接受并返回“回调”或其他可解析的响应(即Promse)。除非您这样做,否则您的执行将无法按您预期的方式运行。也就是说,只需使用内置函数,该函数将返回一个“多个”的“数组”“回复。@NeilLunn您能帮我解释一下语法吗?我对mongodb和mongoose很陌生,所以我不确定如何返回。据我所知,已经给出的答案显示了语法。它还避免了您在尝试“包装”时遇到的回调执行问题。”异步调用不正确。因此,有多种方法的链接问题和答案,以及充满示例的基本文档。您的“函数
find()
不接受并返回“回调”或其他可解析的响应(即Promse)。除非您这样做,否则您的执行将无法按您预期的方式运行。也就是说,只需使用内置函数,该函数将返回一个“多个”的“数组”“回复。@NeilLunn您能帮我解释一下语法吗?我对mongodb和mongoose很陌生,所以我不确定如何返回。据我所知,已经给出的答案显示了语法。它还避免了您在尝试“包装”时遇到的回调执行问题。”异步调用不正确。这里有,用多种方法链接的问题和答案,以及充满示例的基本文档。