gpt4 book ai didi

node.js - Mongoose 查询外的回调数据

转载 作者:可可西里 更新时间:2023-11-01 09:58:01 24 4
gpt4 key购买 nike

我想通过以下代码将 koa 与 mongodb 和 mongoose 一起使用:

var getMessage = function*(params) {
var messages = MessageModel.find({
to: params.to
}, function(err, m) {
if (err) return console.error(err);
// How to get the data out of here to work with them?
console.log(m);
});

yield messages.fields;
}

app.get('/message/to/:to', function*(next) {
this.body =
yield getMessage(this.params);
});

该函数本身有效。这意味着,数据打印在控制台上,但我不知道如何从函数中获取数据,以便使用它们。执行此操作的最佳方法是什么?

最佳答案

您可以在没有生成器的情况下使用 .find().exec() 返回的 promise :

var getMessage = function (params) {
return MessageModel.find({
to: params.to
}).exec();
}

app.get('/message/to/:to', function*(next) {
this.body = yield getMessage(this.params);
});

或者在生成器中产生 promise 并返回你想要的值:

var getMessage = function*(params) {
var data = yield MessageModel.find({
to: params.to
}).exec();

return data;
}

看看http://blog.stevensanderson.com/2013/12/21/experiments-with-koa-and-javascript-generators/了解更多关于您可以产出的信息。

关于node.js - Mongoose 查询外的回调数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26192961/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com