将MongoDB数组作为变量传递

时间:2018-02-08 15:27:59

标签: javascript mongodb

我无法弄清楚如何正确地提供这个MongoDB数组:

以下功能:

console.log(returnUpdates(dbo,"00:00:00:00:00:00"));

返回'undefined'变量...我试过了:

function returnUpdates(dbo, key) {
let query = {};
query[key] = {$exists: true}; 
thisQuery = dbo.collection("updates").find(query).toArray(function(err, result) {
if (err) throw err;
console.log(result);
return result;
});
return thisQuery;
};

function returnUpdates(dbo, key) {
let query = {};
query[key] = {$exists: true};
dbo.collection("updates").find(query).toArray().then(function(log){console.log(log);return log});
};

这两个控制台都从returnUpdates函数内部正确地记录数组,但是在returnUpdates函数之外记录一个未定义的变量。我也试过了:

function returnUpdates(dbo, key) {
let query = {};
query[key] = {$exists: true};
var myQuery = dbo.collection("updates").find(query).toArray().then(function(log){console.log(log);return log});
return myQuery;
};

返回待处理的承诺。

据我所知,数组已经到达我调用它的时候......看到console.log()返回数组。

我不清楚我做错了什么。我只想返回数组,以便将其传递给其他函数。

1 个答案:

答案 0 :(得分:0)

试试这个

function returnUpdates(dbo, key) {
let query = {};
var myQuery;
query[key] = {$exists: true};
var myQuery = 
dbo.collection("updates").find(query).toArray().then(function(log){myQuery = 
log});
};