使用openwhisk操作在Mongodb中查询

时间:2018-07-24 17:40:31

标签: javascript mongodb asynchronous openwhisk

我正在尝试在mongo db上运行查找查询,我想在openwhisk操作中执行此操作。我正在使用nodejs做同样的事情,并且工作正常,但是在openwhisk中我没有任何结果。我想它必须与javascript的异步执行有关。但是,我在这个领域真的很新,我正在努力寻找解决方案。有什么建议么?我有可用的nodejs代码。

function main(){
    var mongodb = require('mongodb');
    var MongoClient = require('mongodb').MongoClient;

    MongoClient.connect('mongodb://172.29.91.113:27017/yelp', function(err, db) {
        if (err) throw err;
        var dbo = db.db("yelp");
        var collection = dbo.collection("Review");
        var a = [];

        function queryCollection(collection, callback){
            collection.find({stars:5}).limit(100).toArray(function(err, result) {
                if (err) {
                    console.log(err);
                } 
                a = result;
                callback();
                db.close();
            })
        } 

        queryCollection(collection, function(){
            return a;
        }); 
    })
}

1 个答案:

答案 0 :(得分:0)

将您的逻辑包含在一个承诺中,然后在您的操作中返回该承诺