Я использую библиотеку Node.js для связи с AirTable, официальная библиотека js . У меня проблема с filterByFormula
. Иногда, когда я пытаюсь найти запись из AirTable, я не получаю результаты, хотя я почти уверен, что должны быть какие-то результаты. Моя логика такова, что если я не нахожу запись в AirTable, я создаю новую. Если я найду его, я обновлю существующий. Эта логика приводит к проблеме с одинаковыми записями, введенными дважды.
Это мой запрос:
getReservationByID: async (externalID) {
let reservations = await calendarBase('Reservations').select({
view: 'Main View',
filterByFormula: `{External ID} = \"${externalID}\"`,
maxRecords: 1,
}).all();
return (reservations.length > 0) ? reservations[0] : null;
},
И эта функция используется так:
let oldReservation = await getReservationByID(reservation.id);
if (!oldReservation) {
createNewReservation(reservation);
} else {
updateReservation(reservation);
}
Как видите, мне важно получить запись из AirTable, если она существует, но иногда AirTable не возвращает существующую запись с заданным идентификатором, и тогда я получаю дубликат с тем же внешним идентификатором. Я делаю что-то неправильно или есть какая-то проблема, о которой я не знаю?