【问题标题】:Query in Mongodb with openwhisk action使用 openwhisk 操作在 Mongodb 中查询
【发布时间】:2019-01-01 10:22:23
【问题描述】:

我正在尝试在 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;
        }); 
    })
}

【问题讨论】:

  • 我看到您的查询存在问题。您正在尝试在 Openwhisk 中建立一个 localhost 数据库连接,如果未在本地部署,则 openwhisk 可能无法访问该连接。您可以在这里发布您的 Openwhisk 日志吗?
  • 这是本地的,但我已经解决了这个问题。我也没有日志。我用 vagrant 在本地运行 openwhisk。

标签: javascript mongodb asynchronous openwhisk


【解决方案1】:

将您的逻辑包装在一个承诺中并在您的操作中返回该承诺

【讨论】:

  • 你能根据我上面的代码帮助我吗?
猜你喜欢
  • 2014-10-31
  • 1970-01-01
  • 1970-01-01
  • 2017-08-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-01
  • 2011-01-22
相关资源
最近更新 更多