2012-11-04 3 views
0

내가 현재 가지고 내가 몽고에서 쿼리에 대한 아래의 사용 익스프레스/Dust.js - 데이터의보기 배열

MongoDB를

에서 6 개 오래된 이야기 게시물을 보여주는 내 홈페이지 : 다음

var query = Story 
      .find({maxlines:10}) 
      .sort({_id:1}) 
      .limit(6); 

나 ' 난 .dust 템플릿 아래에있는 그런

app.get('/', function(req, res){ 
    query.exec(function(err, story) { 
     if (err) console.log(err); 
     res.render('index', { 
     title: 'Test!', 
     storytitle1: story[0].title, 
     storylines1: story[0].lines, 
     storyid1: story[0].sid, 
     storyslug1: slugs(story[0].title), 
     storytitle2: story[1].title, 
     storylines2: story[1].lines, 
     storyid2: story[1].sid, 
     storyslug2: slugs(story[1].title), 
     storytitle3: story[2].title, 
     storylines3: story[2].lines, 
     storyid3: story[2].sid, 
     storyslug3: slugs(story[2].title),  
     storytitle4: story[3].title, 
     storylines4: story[3].lines, 
     storyid4: story[3].sid, 
     storyslug4: slugs(story[3].title), 
     storytitle5: story[4].title, 
     storylines5: story[4].lines, 
     storyid5: story[4].sid, 
     storyslug5: slugs(story[4].title), 
     storytitle6: story[5].title, 
     storylines6: story[5].lines, 
     storyid6: story[5].sid, 
     storyslug6: slugs(story[5].title)  
    }); 
    }); 
}); 

dust.js을 위해 정보를 전달하기 위해 사용을 해요

0,123,907

기본적으로 각각 6 개씩 개별적으로 렌더링되지만 완벽하게 작동하지만 더 나은 방법이 있는지 궁금합니다. 왜냐하면 내가 다른 페이지를 구현하기를 원하기 때문이다. 예를 들어 마지막 20 개의 스토리를 보여 주며 나는 템플릿 안에 모든 것을 개별적으로 쓰고 싶지 않다.

답변

1

시도해보십시오.

코드 :

app.get('/', function(req, res){ 
    query.exec(function(err, story) { 
     if (err) console.log(err); 
     for (var i = 0; i < story.length; i++) { 
      story[i].slug = slugs(story[i].title); 
     } 
     res.render('index', { 
      title: 'Test!', 
      stories: story 
     }); 
    }); 
}); 

템플릿 :

{#stories} 
    <h1 class="title">{title}</h1> 
     {#lines} 
      <ul>{text}</ul> 
     {/lines} 
{/stories}