2017-05-05 50 views
0

我遇到一個問題,我使用mongoDB將日期作爲對象的一部分進行存儲,並且我將前面的這些對象公開最終使用Meteor和Angular。它給我的東西幾乎是正確的,但是因爲我試圖保持數據綁定的正常工作,所以在給予Meteor之前我無法弄清楚如何操作這些對象。如何將MongoDB ISODate轉換爲兼容輸入[type =「date」]

我相信我需要做的是在返回到流星之前修改每個匹配db.table.find()查詢的對象。

下表中的對象有這樣的結構:

{ 
    date: ISODate(2017-05-04T14:00:00Z), 
    note: "Foo" 
} 

我發佈他們是這樣的:

Meteor.publish('tasks', function tasksPublication() { 
    var tasks = Tasks.find(); 
    return tasks; 
}); 

前端被迷上了這個樣子。

<label>Date: <input type="date" ng-value="{{task.date}}" /> </label> 

的問題,這是日期的格式:它包括一切從「T」,當它不應該有日期輸入,那部分。 如何在出數據庫的路上修改對象?

回答

1

您需要使用庫來格式化日期像moment.js

meteor npm install moment --save

import moment from 'moment'; 

const date = ISODate(2017-05-04T14:00:00Z); 

const formattedDate = moment(date).format('DD-MM-YYYY'); //04-05-2017 

You can read all about formatting using moment here:

我沒有用之前的角,所以我不知道如何使用它執行角邏輯,但是如果你編寫某種稱爲formatDate()的模塊,你可以反覆使用它

import moment from 'moment'; 

const formatDate = (date) => { 
    return moment(date).format('DD-MM-YYYY'); //change the format string to your preference 
} 

export default formatDate; 

然後你就可以使用該功能的任何地方,你應對你的申請日期:

import formatDate from '/path/to/formatdate'; 
+0

感謝您的答覆。我對Meteor或Angular也不是很熟悉,所以瞭解數據流的方式有點令人困惑,但我會看看我能否做到這一點。 –

相關問題