下面的代码编写了一个名为app.js的文件。MongoDB安装在192.168.16.1上,这是我的笔记本电脑。当我使用node app.js命令运行此命令时,会收到一条消息“connected”。
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var mongoose = require('mongoose');
var MongoClient = require('mongodb').MongoClient;
// Connect to the db
MongoClient.connect("mongodb://192.168.16.1:27017/angularcrud", function (err, db) {
if(err) {console.log(err); }
else {console.log('connected');}
});
\
我在笔记本电脑上安装了一个使用vagrant的openswitch环境。如果ssh到vagrant,ping到192.168.16.1,我得到ping响应,所以我确信vagrant vm可以达到192.168.16.1。我已经在nodejs中编写了以下代码来创建openswish操作。我已经将它作为一个.zip文件(也包括node_modules文件夹)部署到openswish中。
function entryPoint(args) {
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var message = "Connection not SET";
var mongoose = require('mongoose');
var MongoClient = require('mongodb').MongoClient;
// Connect to the db
MongoClient.connect("mongodb://193.168.16.1:27017/angularcrud", function (err, db) {
if(err) {return err;}
else {return 'success';}
});
}
module.exports.main = entryPoint;
如果我在OpenWhisk中运行上述代码,就会得到一个结果。如果我删除mongoclient.connect语句并返回一个简单的字符串,那么当我调用该操作时,就会得到该字符串。我确信MongoClient有问题。连接,当运行openswish时。但是,我真的被卡住了,因为我没有错误地告诉我出了什么问题。