как я могу обновить одну ячейку в наборе данных wix

Итак, Айв создал веб-сайт Wix для движения автобусов (например, приложение moovit), и я попытался добавить функцию отчета в реальном времени (чтобы пользователи могли сообщать о прибытии автобуса в режиме реального времени).

Моя проблема в том, что, что бы я ни пытался, я не могу обновить свой набор данных!

скажем, у меня есть 3 станции: station1, station2, station3, когда я обновляю время прибытия station3, мой wix решает скопировать всю строку station3 в startion1 без обновления поля, которое я хотел.

может кто-нибудь подарить мне работающую функцию обновления?

вот мой код: (часть обновления идет после console.log (1))

export function button1_click(event) {
 let stationIndex = $w("#stationDropDown").selectedIndex;
console.log($w("#stationDropDown").selectedIndex);
$w("#dataset1").getItems(0, 12).then((data) => {
    var currStation = data.items[$w("#stationDropDown").selectedIndex];
    console.log(currStation);
    let arrivalsArray = currStation.arrivals;
    let rt_arrivalsArray = currStation.rtArrivals;
    let reporteTimes = currStation.reporteTimes;
    if(arrivalsArray.length!==rt_arrivalsArray.length || reporteTimes.length!==rt_arrivalsArray.length)
    {
        console.log("there is a length problem in the station database:"+arrivalsArray.length+","+rt_arrivalsArray.length+","+reporteTimes.length);
        return;
    }
    let closestArrivalIndex = getClosestArrivalIndex(arrivalsArray);
    console.log("closestArrivalIndex=" + closestArrivalIndex);
    var now = new Date();
    if (now.getMinutes() < 10)
        currStation.rtArrivals[closestArrivalIndex] = now.getHours() + ":0" + now.getMinutes();
    else
        currStation.rtArrivals[closestArrivalIndex] = now.getHours() + ":" + now.getMinutes();
    if(reporteTimes.length>closestArrivalIndex)
    {
        if(reporteTimes[closestArrivalIndex]==="")
            currStation.reporteTimes[closestArrivalIndex]=0;
        currStation.reporteTimes[closestArrivalIndex]++;
    }
    console.log("1");
    let toUpdate = {
    "rtArrivals":        currStation.rtArrivals,
    "reporteTimes":   currStation.reporteTimes,
    };
    wixData.update("dataset1", toUpdate);
    $w("#dataset1").save(currStation);
    console.log("done reporting");
});

}


person AdiDidIt    schedule 03.07.2020    source источник


Ответы (1)


сам решил:

`//name of database = "stuff"
//row ID = <record id>

wixData.get("Stuff", <record id>)
.then((toUpdate) => {
   toUpdate.fld = "x";
   wixData.update("Stuff", toUpdate)
   .then((result) => {
      // updated object returned so let's take a look
      console.log(result);
   })
   .catch((err) => {
      let errorMsg = err;
   });
})
.catch((err) => {
   let errorMsg = err;
});`
person AdiDidIt    schedule 03.07.2020