gpt4 book ai didi

javascript - 从 mongo 返回纯 json 对象的问题

转载 作者:行者123 更新时间:2023-11-30 11:47:55 27 4
gpt4 key购买 nike

我有一个函数可以在我的模式数据库中找到一个对象。如果我 console.log 它,它会正确显示。但是当我使用它或控制台记录它时,在函数之外,它返回一个空对象。请帮忙

我的功能:

var pushQues = function(quesObj){ 
var query = {AnswerId: 'Texas'};
Question.findOne(query).lean().exec(function(err,docs){
console.log(docs.Ques);
console.log(docs);
quesObj = docs;
});};

控制台(正确返回):

Which is the biggest state?
{ _id: 5815366d49fd95ec160728d8,
Ques: 'Which is the best language?',
Answers: [ 'Texas', 'Georgia', 'New york', 'Ohio' ],
AnswerId: 'Texas' }

尝试从外部函数中检索 quesObj:

var quesObj={};
pushQues(quesObj);
console.log('and quesobj here: '+ quesObj);
console.log('question here: '+ quesObj.Ques);

控制台(不工作):

 and quesob here: [object Object]
quesob here: undefined

最佳答案

应该是async性质的问题,尝试通过callback获取。

var pushQues = function(quesObj, callback) {
var query = {
AnswerId: 'Texas'
};
Question.findOne(query).lean().exec(function(err, docs) {
console.log(docs.Ques);
console.log(docs);
callback(null, docs);
});
};


pushQues(quesObj,function(err,result){
console.log('and quesobj here: '+ result);
console.log('question here: '+ result.Ques);
});

更新

var async = require('async');
async.waterfall([
function(callback) {
var pushQues = function(quesObj, callback) {
var query = {
AnswerId: 'Texas'
};
Question.findOne(query).lean().exec(function(err, docs) {
console.log(docs.Ques);
console.log(docs);
callback(err, docs);
});
};
}
], function(err, result) {
if(!err){
console.log(result);
}
});

关于javascript - 从 mongo 返回纯 json 对象的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40328849/

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