Lowdb .find не работает?

У меня есть чрезвычайно простой локальный api, который я использую для тестирования мобильного приложения, которое я создаю, но я не могу заставить lowdb правильно найти запись в базе данных. Я пробовал использовать .find () и .filter (), но оба возвращают undefined. Это очень простая установка. У меня есть маршрут, который принимает почтовый запрос, получает mobile_pin из тела запроса, затем должен возвращать идентификатор записи в базе данных на основе mobile_pin, но он всегда не определен. Вот функция узла, которая не работает ...

router.post('/connect', function(req, res, next) {
  const db = res.locals.db;
  const mobile_pin = req.body.mobile_pin;
  console.info(db.get('users').value());
  console.info("Looking for mobile_code: " + mobile_pin);
  let entry = db.get('users').find({mobile_code: mobile_pin}).value();
  console.info(entry);
});

Я знаю, что нет res.writeHead или чего-то еще, так как он не работает, я не писал эту часть, я использую консоль для просмотра данных. Консольный вывод ...

[{ id: "UUID", mobile_code: 775902, posts: [], date: [], modified_timestamp: []}]

Looking for mobile_code: 775902

undefined

Запись, очевидно, находится в базе данных, на самом деле это единственная запись там на данный момент, но она всегда не определена, когда я пытаюсь получить запись на основе mobile_code. Я пробовал использовать как .find (), так и .filter (), но оба они регистрируют undefined в консоли. Нет ли способа получить эту запись на основе mobile_code? Документация показывает, что .find () должен предоставить мне эту запись. Любая помощь будет принята с благодарностью.

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
728
1

Ответы 1

Нашел причину. При отправке почтового запроса mobile_pin преобразуется в строку, поэтому записи с кодом mobile_code «775902» не было. Вы должны использовать parseInt (req.body.mobile_pin); или база данных не сможет найти запись.

Другие вопросы по теме