2016-10-23 4 views
0

이 코드의 주된 목적은 데이터베이스에 데이터가 있으면 브라우저에서 페치 (fetch)하고 표시해야한다는 것입니다. 그러나 나는 그것을 발견 할 수 없었다.데이터가 Meteor의 클라이언트에서 서버로 전송되지 않음

문제는 서버로 데이터를 전송하는 것입니다.

유성을 실행하고 브라우저의 콘솔에서 값을 입력하면 브라우저에서 다시 볼 수 없습니다. 콘솔에서 "Tdos.find()"명령을 사용하여 찾을 수 있습니다. .fetch() ", 내가 입력 한 배열을 표시하지만 mongodb 콘솔에서 찾으려고하면 찾을 수 없습니다. 어떤 사람이 내 문제를 파악할 수 있습니까?

<head> 
    <title>simpletodos</title> 
    </head> 

<body> 

    {{> todoList}} 
</body> 


    <template name="todoList"> 
    <h3>Todos</h3> 
    <ul> 
    {{#each tdos}} 
     {{> todo}} 
    {{/each}} 
</ul> 
    <button class="add-todo">Add todo</button> 

    </template> 
    <template name="todo"> 
     <li> 
     {{label}} 
    </li> 
</template> 

클라이언트/Main.js

if(Meteor.isClient) { 

    Template.todoList.helpers({ 
    todos: function() { 
    return Tdos.find(); 
    } 
    }); 

    if(Meteor.isServer) { 

    } 
    } 

서버/main.js 서버에서

import { Meteor } from 'meteor/meteor'; 

    Tdos = new Mongo.Collection("tdos"); 

Meteor.startup(() => { 
    // code to run on server at startup 
    }); 
+0

안녕하세요 Sravan, 귀하의 컬렉션은 서버와 클라이언트 모두에서 선언되어야합니다. collection.js 파일에서 컬렉션을 정의하는 경우 클라이언트 및 서버에서 사용할 수 있도록 설정해야합니다 (예 : lib 폴더) – Yann

+0

내 폴더 구조를 표시하려고합니다. .Meteor -> 3 폴더 (클라이언트, 컬렉션, 서버). 클라이언트 (Main.html, Main.css, Main.js)에서. 수집 중 (Tdos.js (Collection Declaration)). 서버 (Main.js)에서. –

+0

이제는 작동 중입니다. 제 질문에 대해 회신을 해주신 것에 대해 Yann에게 감사드립니다. –

답변

0

,이 같은 컬렉션을 정의

Tdos = new Mongo.Collection("tdos"); 

어떤 Mongo의 콜렉션이 todos라는 것을 의미합니다.

db.todos.insert({label: "My first to do"}) 

당신이/업데이트를 가져 오거나 삽입 할 유성에서, 당신은 Tdos를 사용, 예를 들어

Tdos.insert(...}; 
:

db.todos.find() 

와 내용이이 작업을 사용하여 몽고에 레코드를 삽입 할 수 있습니다

헬퍼를 사용하면 코드 내에서 데이터를 배열로 사용할 수 있습니다. 나는 당신이 그것을 바꿀 필요가 있다고 생각한다.

todos: function() { 
    return Tdos.find().fetch(); 
} 
+0

Mikkel에게 감사의 말을 전합니다. –

+0

나는 위의 제안을 시도하고 몇 가지 결과를 발견하고 한 번 더 변경했다. 즉, 콜렉션 선언의 위치를 ​​변경했습니다. Collection이라는 이름의 새 폴더를 만들었습니다. js 파일에 선언문 만 놓았습니다. 이제 브라우저에서 항목을 볼 수 있습니다. 하지만 mongodb 터미널에서 컬렉션을 찾을 수 없습니다. 내 컬렉션 이름은 "tdos"입니다. db.tdos.find()로 시도했지만 빈 배열 만 보여주고 있습니다 ... 이제 MongoDB 터미널에서 컬렉션을 어떻게 찾을 수 있습니까? –

+0

잘하고 있어요. Mikkel, 제 질문에 답해 주셔서 감사합니다. –

관련 문제