[英]Unable to start my nodejs application
Hi I am trying to start a node-js based application but it is giving me some mongodb based error and I can't seem to start my plugin. 嗨,我正在尝试启动一个基于node-js的应用程序,但是它给了我一些基于mongodb的错误,我似乎无法启动我的插件。
Error: 错误:
/home/jira-Plugins/cloud/test-plugin/node_modules/mongodb/lib/server.js:110
if(host.indexOf('\/') != -1) {
^
TypeError: Cannot call method 'indexOf' of undefined
at new Server (/home/jira-Plugins/cloud/test-plugin/node_modules/mongodb/lib/server.js:110:11)
at new MongoDB (/home/jira-Plugins/cloud/test-plugin/node_modules/jugglingdb-mongodb/lib/mongodb.js:51:18)
at Object.initializeSchema [as initialize] (/home/jira-Plugins/cloud/test-plugin/node_modules/jugglingdb-mongodb/lib/mongodb.js:26:22)
at new Schema (/home/jira-Plugins/cloud/test-plugin/node_modules/jugglingdb/lib/schema.js:106:13)
at Object.<anonymous> (/home/jira-Plugins/cloud/test-plugin/app.js:56:14)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:902:3
Here are the configurations I am currently using: database.js 这是我当前正在使用的配置:database.js
module.exports = {
url : 'mongodb://localhost/test'
};
app.js: app.js:
var mongoose = require('mongoose');
/*var methodOverride = require('method-override'); // simulate DELETE and PUT (express4)*/
var database = require('./config/database');
/*var port = process.env.PORT || 8888;*/ // set the port
mongoose.connect(database.url);
console.log('Connected to Database: ' + database.url);
var Schema = require('jugglingdb').Schema;
var schema = new Schema('mongodb');
var schema = new Schema('mongodb', {
url: 'mongodb://localhost/test',
});
I am also using jugglingdb as crossDb ORM in my application 我也在我的应用程序中使用jugglingdb作为crossDb ORM
config.json config.json
"store": {
"adapter": "jugglingdb",
"type": "mongodb"
},
After I implemented the suggestions provided the errors has completely changed: 在实施建议后,错误已完全改变:
Unhandled error: TypeError: Cannot call
method 'indexOf' of undefined
at new Server (/home/jira-Plugins/cloud/test-plugin/node_modules/mongodb/lib/server.js:110:11)
at new MongoDB (/home/jira-Plugins/cloud/test-plugin/node_modules/jugglingdb-mongodb/lib/mongodb.js:51:18)
at Object.initializeSchema [as initialize] (/home/jira-Plugins/cloud/test-plugin/node_modules/jugglingdb-mongodb/lib/mongodb.js:26:22)
at new Schema (/home/jira-Plugins/cloud/test-plugin/node_modules/atlassian-connect-express/node_modules/jugglingdb/lib/schema.js:105:13)
at /home/jira-Plugins/cloud/test-plugin/node_modules/atlassian-connect-express/lib/store/jugglingdb.js:34:32
at lib$rsvp$$internal$$initializePromise (/home/jira-Plugins/cloud/test-plugin/node_modules/atlassian-connect-express/node_modules/rsvp/dist/rsvp.js:541:9)
at new lib$rsvp$promise$$Promise (/home/jira-Plugins/cloud/test-plugin/node_modules/atlassian-connect-express/node_modules/rsvp/dist/rsvp.js:757:9)
at new JugglingDB (/home/jira-Plugins/cloud/test-plugin/node_modules/atlassian-connect-express/lib/store/jugglingdb.js:32:18)
at module.exports (/home/jira-Plugins/cloud/test-plugin/node_modules/atlassian-connect-express/lib/store/jugglingdb.js:168:10)
at Function.stores.create (/home/jira-Plugins/cloud/test-plugin/node_modules/atlassian-connect-express/lib/store/index.js:18:10)
at stores (/home/jira-Plugins/cloud/test-plugin/node_modules/atlassian-connect-express/lib/store/index.js:12:17)
at EventEmitter.Addon (/home/jira-Plugins/cloud/test-plugin/node_modules/atlassian-connect-express/lib/index.js:31:38)
at module.exports (/home/jira-Plugins/cloud/test-plugin/node_modules/atlassian-connect-express/lib/index.js:204:12)
at Object.<anonymous> (/home/jira-Plugins/cloud/test-plugin/app.js:32:13)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
Unhandled error: TypeError: Cannot read property 'settings' of undefined
at JugglingDB.proto.isMemoryStore (/home/jira-Plugins/cloud/test-plugin/node_modules/atlassian-connect-express/lib/store/jugglingdb.js:78:29)
at EventEmitter.exports.shouldRegister (/home/jira-Plugins/cloud/test-plugin/node_modules/atlassian-connect-express/lib/internal/registration.js:45:67)
at /home/jira-Plugins/cloud/test-plugin/node_modules/atlassian-connect-express/lib/internal/registration.js:85:54
at lib$rsvp$$internal$$tryCatch (/home/jira-Plugins/cloud/test-plugin/node_modules/atlassian-connect-express/node_modules/rsvp/dist/rsvp.js:493:16)
at lib$rsvp$$internal$$invokeCallback (/home/jira-Plugins/cloud/test-plugin/node_modules/atlassian-connect-express/node_modules/rsvp/dist/rsvp.js:505:17)
at /home/jira-Plugins/cloud/test-plugin/node_modules/atlassian-connect-express/node_modules/rsvp/dist/rsvp.js:1001:13
at Object.lib$rsvp$asap$$flush [as _onImmediate] (/home/jira-Plugins/cloud/test-plugin/node_modules/atlassian-connect-express/node_modules/rsvp/dist/rsvp.js:1198:9)
at processImmediate [as _immediateCallback] (timers.js:330:15)
You didn't include any info on what is in line 56 of your app.js. 您没有包含有关app.js第56行中内容的任何信息。
The error looks like the mongodb driver is trying to find a slash in a variable called host
and fails to do so because the host
is undefined. 该错误看起来像mongodb驱动程序正在试图在名为
host
的变量中查找斜杠,但由于host
未定义而未能成功。
Isn't it because you have var schema
defined twice? 是不是因为您两次定义了
var schema
?
var schema = new Schema('mongodb');
var schema = new Schema('mongodb', {
url: 'mongodb://localhost/test',
});
Maybe remove the first one where you don't have the url
. 也许删除第一个没有
url
。
Also, are you using both Mongoose and JugglingDB in the same program? 另外,您是否在同一程序中同时使用Mongoose和JugglingDB?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.