Javascript 猫鼬没有按我所希望的方式工作
我正在制作一个应用程序,用户可以记录他们的睡眠时间、饮食习惯等,并将其存储在一个名为日志的集合中 当用户单击“stats”时,它会触发一个名为find()的函数,该函数将查找用户提交的所有日志实体,并将其记录在控制台日志中 这就是我到目前为止所做的: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
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很陌生,所以我不确定如何返回。据我所知,已经给出的答案显示了语法。它还避免了您在尝试“包装”时遇到的回调执行问题。”异步调用不正确。这里有,用多种方法链接的问题和答案,以及充满示例的基本文档。