2016-12-18 1 views
0

안녕하세요 노드 -js 기반 응용 프로그램을 시작하려고하지만 일부 mongodb 기반 오류를 제공하고 내 플러그 인을 시작할 수 없습니다.내 nodejs 응용 프로그램을 시작할 수 없습니다.

오류 :

여기
/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 

내가 현재 사용하고있는 구성은 다음과 같습니다 database.js

module.exports = { 
    url : 'mongodb://localhost/test' 
}; 

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', 
}); 
나는 또한으로 jugglingdb 사용하고

crossDb ORM 내 응용 프로그램에서

012 3,516,

config.json

"store": { 
    "adapter": "jugglingdb", 
    "type": "mongodb" 

}, 

나는 제안 오류가 완전히 변경되었습니다 제공하는 구현 후 :

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) 
+0

확실한 질문 ... "호스트"는 어디에 정의되어 있습니까? – jmargolisvt

+0

'var schema = new Schema ('mongodb');'줄을 제거해보십시오. 'Schema' 생성자는 연결 옵션 객체를 기대합니다. – GilZ

+0

@jmargolisvt, 도서관 어딘가에 있습니다. 나는 그가 오류를 던지는 함수를 직접 호출한다고 생각하지 않는다. –

답변

2

당신은 당신의 app.js.의 라인 (56)에 무엇에 어떤 정보를 포함하지 않았다

host이 정의되지 않았기 때문에 mongodb 드라이버가 host이라는 변수에서 슬래시를 찾으려고 시도하는 중 오류가 발생했습니다.

var schema이 두 번 정의 되었기 때문에 그렇지 않습니까? 당신이 url이없는 경우

var schema = new Schema('mongodb'); 

var schema = new Schema('mongodb', { 
    url: 'mongodb://localhost/test', 
}); 

은 아마도 첫 번째를 제거합니다.

또한 동일한 프로그램에서 Mongoose와 JugglingDB를 모두 사용하고 있습니까?

+0

라인 56은 var schema = new Schema ('mongodb');를 가지고있다. –

+0

첫 번째 var 스키마 = 새 스키마 ('mongodb')를 제거한 후에 오류가 사라졌지 만 이제는 새로운 오류가 발생합니다. throw MongoError.create ({message : '포트를 지정해야합니다', driver : true}); ^ MongoError : 포트를 지정해야합니다. –

+0

url : 'mongodb : // localhost : 27017/test'에 포트를 포함 시키십시오. –

관련 문제