2016-02-12 70 views
1

我需要使用meteorjs在mongodb中存儲日期,例如「myDate」(使用此格式dd-mm-YYYY),並且噹噹前日期= myDate時,我想要顯示它。 (我的項目是注列表!)存儲和打印的日期

模板助手:

Template.dates_list.helpers({ 
    dates: function() { 
    return Dates.find({}, { sort: { dateTime: +1 } }); 
    } 
}); 

模板事件:

Template.newDate_form.events({ 
    "submit .js-save-newDate-form": function (event) { 

    var day, dateTime, note; 

    day = event.target.day.value; 
    dateTime = event.target.dateTime.value; 
    note = event.target.note.value; 

    if (Meteor.user()) { 
     Dates.insert({ 
     day: day, 
     dateTime: dateTime, 
     note: note 
     }); 
    } //end of if 
    return true; // start the form submit from reloading the page 
    } 
}); 

我的列表模板HTML:

<template name="dates_list"> 
    <tr> 
    <th>{{dateTime}}</th> 
    <th>{{day}}</th> 
    <th>{{note}}</th> 
    </tr> 
</template> 

我的形式插入日期

<template name="newDate_form"> 
    {{#if currentUser}} 
    <h4>Push '<b>+</b>' to add new date.</h4> 
    <a class="btn btn-default js-toggle-newDate-form" href="#"> 
     <span class="glyphicon glyphicon-plus-sign" aria-hidden="true"></span> 
    </a> 
    <div id="newDate_form" class="hidden_div jumbotron"> 
     <form class="js-save-newDate-form form-group-sm"> 
     <div class="form-group"> 
      <label for="dayJob">Day</label> 
      <input type="text" class="form-control" id="dayJob" placeholder="Day format: dd-MM-yyyy" required 
      data-fv-notempty-message="The day is required"> 
     </div> 
     <div class="form-group"> 
      <label for="dateTime">Time</label> 
      <input type="text" class="form-control" id="dateTime" placeholder="Time format: hh:mm" required 
      data-fv-notempty-message="The time is required"> 
     </div> 
     <div class="form-group"> 
      <label for="note">Note</label> 
      <input type="text" class="form-control" id="note" placeholder="Note" required 
      data-fv-notempty-message="Note"> 
     </div> 
     </form> 
    </div> 
    {{/if}} 
</template> 
+0

正如指出[這裏](https://stackoverflow.com/questions/25393603/how-to-store-date-and-time-in-meteor-for-range-queries)你應該總是把你的日期存儲爲'日期'對象。 –

回答

0

的MongoDB支持存儲Date對象本身,我會做到這一點,使用模板助手來顯示它您想要的方式。這樣做的好處是查詢Date對象比日期的字符串表示要容易得多。

下面是一個例子幫手:

Template.registerHelper('humanDate', (timestamp) => { 
    if (timestamp) { 
    var time = moment(timestamp), 
     format = 'DD-MM-YYYY'; 
    return time.format(format); 
    } 
}); 

你需要的momentjs包:meteor add momentjs:moment該工作。

然後你就可以使用模板助手來顯示你的約會:

{{humanDate dateTime}} 

只要日期時間的實際日期的對象。您可以創建一個新的日期,當您通過一些重構插入日期集合時。