lowdb. найти не работает? - PullRequest
0 голосов
/ 06 июня 2018

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

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

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

[{id: "UUID", мобильный_код: 775902, сообщения: [], дата: [] ,ified_timestamp: []}]

Просмотрдля мобильного_кода: 775902

undefined

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

1 Ответ

0 голосов
/ 06 июня 2018

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...