Я пытаюсь создать задание для выполнения каждый день, эта процедура создаст дочерний ДЕНЬ и добавит много детей ЧАС в течение ДНЯ, проблема в том, что когда я пытаюсь добавить более 7 дочерних элементов, база данных в реальном времени преобразует мой JSON дерево в массиве.
Я хочу получить JSON результат:
{
"CALENDAR" : {
"8" : {
"AVAILABLE" : true,
"PURCHASEKEY" : "NA",
"TIME" : "8:00",
"TITLE" : "NA",
"USERID" : "NA",
"USERNAME" : "NA"
},
"9" : {
"AVAILABLE" : true,
"PURCHASEKEY" : "NA",
"TIME" : "9:00",
"TITLE" : "NA",
"USERID" : "NA",
"USERNAME" : "NA"
}
.
.
.
"19" : {
"AVAILABLE" : true,
"PURCHASEKEY" : "NA",
"TIME" : "19:00",
"TITLE" : "NA",
"USERID" : "NA",
"USERNAME" : "NA"
}
}
}
Но если я вставлю до ЧАСА 19, результат вставки данных в базу данных реального времени будет следующим:
{
"CALENDAR" : [ null, null, null, null, null, null, null, null, {
"AVAILABLE" : true,
"PURCHASEKEY" : "NA",
"TIME" : "8:00",
"TITLE" : "NA",
"USERID" : "NA",
"USERNAME" : "NA"
}, {
"AVAILABLE" : true,
"PURCHASEKEY" : "NA",
"TIME" : "9:00",
"TITLE" : "NA",
"USERID" : "NA",
"USERNAME" : "NA"
},
.
.
.
{
"AVAILABLE" : true,
"PURCHASEKEY" : "NA",
"TIME" : "19:00",
"TITLE" : "NA",
"USERID" : "NA",
"USERNAME" : "NA"
} ]
}
Если я добавлю только 7 дочерних элементов, все работает нормально, результат будет следующим:
{
"CALENDAR" : {
"8" : {
"AVAILABLE" : true,
"PURCHASEKEY" : "NA",
"TIME" : "8:00",
"TITLE" : "NA",
"USERID" : "NA",
"USERNAME" : "NA"
},
"9" : {
"AVAILABLE" : true,
"PURCHASEKEY" : "NA",
"TIME" : "9:00",
"TITLE" : "NA",
"USERID" : "NA",
"USERNAME" : "NA"
},
.
.
.
"14" : {
"AVAILABLE" : true,
"PURCHASEKEY" : "NA",
"TIME" : "14:00",
"TITLE" : "NA",
"USERID" : "NA",
"USERNAME" : "NA"
}
}
}
Я использую функцию для создания этих данных, мой код:
exports.createDayHour = functions.pubsub.schedule('every day 00:00').onRun(async context => {
var day = moment().add(2,'days').format('dddd')
var _day = moment().add(3,'days').format('DDMMYYYY')
if(day !== 'Saturday' || day !== 'Sunday'){
await admin
.database()
.ref('CALENDAR')
.set({
8 : {
"AVAILABLE" : true,
"PURCHASEKEY" : "NA",
"TIME" : "8:00",
"TITLE" : "NA",
"USERID" : "NA",
"USERNAME" : "NA"
},
9 : {
"AVAILABLE" : true,
"PURCHASEKEY" : "NA",
"TIME" : "9:00",
"TITLE" : "NA",
"USERID" : "NA",
"USERNAME" : "NA"
},
10 : {
"AVAILABLE" : true,
"PURCHASEKEY" : "NA",
"TIME" : "10:00",
"TITLE" : "NA",
"USERID" : "NA",
"USERNAME" : "NA"
},
11 : {
"AVAILABLE" : true,
"PURCHASEKEY" : "NA",
"TIME" : "11:00",
"TITLE" : "NA",
"USERID" : "NA",
"USERNAME" : "NA"
},
12 : {
"AVAILABLE" : true,
"PURCHASEKEY" : "NA",
"TIME" : "12:00",
"TITLE" : "NA",
"USERID" : "NA",
"USERNAME" : "NA"
},
13 : {
"AVAILABLE" : true,
"PURCHASEKEY" : "NA",
"TIME" : "13:00",
"TITLE" : "NA",
"USERID" : "NA",
"USERNAME" : "NA"
}
})
}
});
Я пробовал так много способов, используя цикл FOR, asyn c fun c .. но не успех. Пожалуйста, кто-нибудь знает, что не так с моим кодом?