Я написал код, который фильтрует набор данных (набор данных # 1), чтобы ежедневно отображать изображение и информацию из коллекции данных на моем веб-сайте Wix. На сайте отображается «изображение дня», поэтому сайт автоматически обновляется в полночь. На той же странице у меня есть #dataset 2, который показывает «предыдущие изображения дня», то есть изображения, которые были показаны выше до сегодняшней даты. Как я могу изменить свой код, чтобы изменить поле 'current' на сегодняшнем изображении на false, когда сегодня наступит конец.
То есть: 1) изображение A отображается из набора данных1 как изображение дня 2) изображение B отображается на следующий день 3) значение изображения A для поля 'current' меняет его на ложное, поэтому оно будет автоматически отображается в моей другой галерее на основе фильтра, который у меня есть
import wixData from 'wix-data';
//calculateDate;
//This section works perfectly
$w.onReady(function () {
$w("#dataset1").onReady(() => {
let localDate = new Date();
let yearValue = localDate.getFullYear();
let monthValue = localDate.getMonth();
let dayValue = localDate.getDate();
let dateValue1 = new Date(yearValue, monthValue, dayValue, 0, 0, 0);
let dateValue2 = new Date(yearValue, monthValue, dayValue, 23, 59, 59);
$w("#dataset1").setFilter(wixData.filter()
.between('date', dateValue1, dateValue2)
);
//END OF SECTION THAT WORKS PERFECTLY
wixData.query('#dataset2')
.lt('date', dateValue1)
.or(
wixData.query('#dataset2')
.gt('date', dateValue2)
)
.find()
.then(results => {
console.log(results);
let updateArray = [];
// Loop through results of those that are true
// and out-of-date, change the value to false
// and then add the item to the updateArray.
for (var i = 0; i < results.items.length; i++) {
let thisItem = results.items[i];
if (thisItem.current) {
thisItem.current = false;
updateArray.push(thisItem);
}
}
// Now, update the collection records with this array of
wixData.bulkUpdate('#dataset2', updateArray)
.then((bulkresults) => {
// this will return an array showing the IDs of the
// updated records.
console.log(bulkresults);
})
.catch((err) => {
console.log(err);
});
});
});
});