【发布时间】:2018-12-07 04:32:24
【问题描述】:
最近两天我尝试了这段代码中的所有方法来更改对象中的事件日期。但是输出并不好。它将所有事件日期设置为 2018-06-09。这是代码
var ObjectId = require('mongodb').ObjectID;
var moment = require('moment');
function insert(data) {
var events = [];
if (data.when.singledates.length > 0) {
for (var i = 0; i < data.when.singledates.length; i++) {
var ret = data;
ret['event'] = {
"date": moment.utc(ret.when.singledates[i].date, "DD/MM/YYYY").toISOString()
}
events.push(ret);
console.log(ret);
}
insertevents(data, events);
}
}
function insertevents(data, events) {
console.log(events);
}
var data = {
"_id" : ObjectId("5b33eb86d6687e7a4b94286e"),
"when" : {
"singledates" : [
{
"endtime" : "21:30:00",
"date" : "02/06/2018",
"status" : null,
"starttime" : "19:00:00",
"extrainformation" : null
},
{
"endtime" : "21:30:00",
"date" : "07/06/2018",
"status" : null,
"starttime" : "19:00:00",
"extrainformation" : null
},
{
"endtime" : "21:30:00",
"date" : "09/06/2018",
"status" : null,
"starttime" : "19:00:00",
"extrainformation" : null
},
],
"datepatterns" : []
}
}
insert(data);
console.log(ret) 的输出是这样的:
{ _id: 5b33eb86d6687e7a4b94286e,
when:
{ singledates: [ [Object], [Object], [Object] ],
datepatterns: [] },
event: { date: '2018-06-02T00:00:00.000Z' } }
{ _id: 5b33eb86d6687e7a4b94286e,
when:
{ singledates: [ [Object], [Object], [Object] ],
datepatterns: [] },
event: { date: '2018-06-07T00:00:00.000Z' } }
{ _id: 5b33eb86d6687e7a4b94286e,
when:
{ singledates: [ [Object], [Object], [Object] ],
datepatterns: [] },
event: { date: '2018-06-09T00:00:00.000Z' } }
所以你可以看到活动日期设置得很好。但是当我打印出 console.log(events);日期设置不好。都显示同一个日期
[ { _id: 5b33eb86d6687e7a4b94286e,
when: { singledates: [Array], datepatterns: [] },
event: { date: '2018-06-09T00:00:00.000Z' } },
{ _id: 5b33eb86d6687e7a4b94286e,
when: { singledates: [Array], datepatterns: [] },
event: { date: '2018-06-09T00:00:00.000Z' } },
{ _id: 5b33eb86d6687e7a4b94286e,
when: { singledates: [Array], datepatterns: [] },
event: { date: '2018-06-09T00:00:00.000Z' } } ]
谁能帮帮我。
【问题讨论】:
-
将项目推送到数组中的特定索引
标签: javascript arrays mongodb loops momentjs