2017-05-05 97 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也不是很熟悉,所以了解数据流的方式有点令人困惑,但我会看看我能否做到这一点。 –

相关问题