2014-12-04 4 views
2

총합계에 iam이 새롭습니다. 데이터를 보여줄 Meteor 애플리케이션을 작성하려고합니다. 다른 Mongo 데이터베이스. 자체 앱은 자체 메타 데이터베이스를 사용할 수 있습니다. 그래서 나는 MongoInternals.RemoteCollectionDriver()을 사용하여 두 번째 데이터베이스에 연결했습니다.meteor meteor 두 번째 문기 데이터베이스에서 데이터를 가져 오지 않습니다.

다음 단계는 유성 튜토리얼에서 작동하도록 만드는 것입니다. 하지만 두 번째 데이터베이스에서 데이터를 가져 오지 않습니다. 테스트의 경우, 간단한 배열이 내 함수에서 올바르게 반환되고 바로 webapp에 배치됩니다. .find()의 표현도 괜찮습니다. 나는 그것을 Mongo 콘솔에서 테스트했다.

두 번째 데이터베이스에 대한 연결이 if (Meteor.isClient) 또는 클라이언트/서버 파트 외부에있는 경우 "ReferenceError : MongoInternals is defined"오류가 나타납니다. if (Meteor.isServer) 내부의 세트가 가끔 예외가 콘솔에 표시되는 경우 :

Exception in template helper: . [email protected]://localhost:3000 /risdd_mongo.js?4fc7111851b4ed2182782e0a368b366cc4e89745:15:17 bindDataContext/<@http://localhost:3000 /packages /blaze.js?77c0809654ee3a10dcd5a4f961fb1437e7957d33:2693:14
...... and a lot more messages

나는 왜 두 번째 데이터베이스에서 데이터를 가져 오는 해달라고, 볼 수 없습니다.

Tasks = new Mongo.Collection("tasks"); 
 

 
////////////////////// 
 
if (Meteor.isClient) { 
 

 
    Template.body.helpers({ 
 
     tasks: function() { 
 
      return Tasks.find({}, {sort: {createdAt: -1 }}); 
 
     } 
 
     , 
 
     s_sessions: function() { 
 
      return ris_sess.find({},{description:1}).fetch(); 
 
      
 
     } 
 
    }); 
 
} 
 

 

 
////////////////////// 
 
if (Meteor.isServer) { 
 
    Meteor.startup(function() { 
 
    // code to run on server at startup 
 

 
    var risdb_drv = new MongoInternals.RemoteCollectionDriver("mongodb://172.0.0.1:27017/ris"); 
 
    var ris_sess = new Mongo.Collection("sessions", { _driver: risdb_drv }); 
 

 

 
    }); 
 
}
<head> 
 
    <title>foo</title> 
 
</head> 
 

 
<body> 
 
    <div class="container"> 
 
     <header> 
 
      <h1>todo list</h1> 
 
      <!-- add a FORM !--> 
 
      <form class="new-task"> 
 
       <input type="text" name="text" placeholder="ad your task here" /> 
 
      </form> 
 
     </header> 
 

 
     <ul> 
 
       {{#each tasks}} 
 
        {{>task}} 
 
       {{/each}} 
 
       
 
       {{#each ris_sessions}} 
 
        {{>ris_session}} 
 
       {{/each}} 
 
     </ul> 
 
    </div> 
 
    
 
</body> 
 

 
<template name="task"> 
 
    <li>{{text}}</li> 
 
</template> 
 

 

 
<template name="ris_session"> 
 
    <li>{{description}}</li> 
 
</template>
당신이 사용하는 경우

+0

아마도 다른 문제 일 수 있습니다. 몇 초 후에 메시지가 나타납니다. => MongoDB가 시작되었습니다. I20141206-06 : 48 : 57.548 (1)? 비동기 함수의 콜백 예외 : 오류 : [172.0.0.1:27017] I20141206-06 : 48 : 57.671 (1)에 연결하지 못했습니다? at null. (/home/row/.meteor/packages/mongo/.1.0.8.qrjcjj++os+web.browser+web.cordova/npm/node_modules/mongodb/lib/mongodb/connection/server.js:536 : 74) – row

+0

해결 방법을 찾았습니까 - "MongoInternals is not defined"오류가 발생하고 있습니까? – JoeTidee

답변

2

지역 MongoDB를 서버 시도 변화

mongodb://172.0.0.1:27017/ris 

mongodb://127.0.0.1:27017/ris 
에 : 여기

는 소스입니다Typo in IP : 127

관련 문제