firebase realtime DB: TypeError: Невозможно преобразовать неопределенный или нулевой объект - PullRequest
0 голосов
/ 01 октября 2018

У меня запрос как ниже

var db = admin.database();
    var ref = db.ref('orders') ref.orderByChild("order/_date").startAt(begDate).endAt(endDate).once("value").then(
        (resp) =>   { 
..
}).catch(
                (err) => console.log('failed in sales report:' + err)
        )

он выдает ниже

TypeError: Cannot convert undefined or null to object 

Данные выглядят как ниже

orders: {
  "-LNMPXMb1SGSnkDaEMQO" : {
    "order" : {
      "_cgst" : "11.90",
      "_date" : "1538368446413",
      "_location" : "kapashera",
      "_orderNumber" : "VikKumar-21247",
      "_orderStatus" : "Delivered",
    }
  },

Во время выполненияbegDate и endDate:

begDate:1538352000000 endDate:1538438400000 

Итак, две проблемы: 1. Сама ошибка.Как я могу избежать ошибки, если нет совпадения?2. Почему вышеуказанная запись не совпадает, если значение даты находится между begDate и endDate?

Ответы [ 2 ]

0 голосов
/ 01 октября 2018

Вы, вероятно, делаете ту же ошибку, что и в своем другом вопросе вчерашнего дня: дата запроса в БД в реальном времени в firebase между 2 датами не совпадает ни с чем

Следовательно, причина, вероятно, в том, что begDate и endDate - это числа, но вы храните _date в виде строки в вашей базе данных.

0 голосов
/ 01 октября 2018

Попробуйте использовать toISOString при сохранении в fb

var _date = new Date().toISOString()

и

var d = new Date();
var year = d.getFullYear();
var month = d.getMonth();
var day = d.getDate();

var begDate = new Date(year - 1, month, day).toISOString();
var endDate = new Date(year + 1, month, day).toISOString();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...