Data salvo como string

4 respostas
nodejs
V

Estou usando Loopback e criei um modelo, onde a propriedade que utilizo é do tipo date, porém quando acesso a base, vejo que está com o tipo string.

Necessito fazer uma busca ‘Between’ conforme o filtro selecionado pelo usuário, mas como estão com o tipo string o Loopback não reconhece um between entre duas strings.

Feita algumas pesquisas, encontrei o resultado abaixo, porém assim que executo a function, a API não me retorna mais a propriedade setada na função.

function usada:

<model>.setter['<prop>'] = function(i) {
  if (typeof i === 'string') {
    i = new Date(i)
  }
  return i;
};

Alguma ideia de solução para resolver? Sem precisar alterar os valores da base de string para Date?

4 Respostas

javaflex

Qual formato?

V

A data está na base assim: ‘20150102’, por exemplo.
Porém preciso pesquisar por date …

javaflex

Via SQL é muito tranquilo resolver isso, por ser do maior pro menor já deve funcionar. Pq ta usando esse loopback?

javaflex

Converte a data informada pelo usuário para este mesmo formato ‘yyyymmdd’, assim vai comparar string com string no mesmo formato. Isso funciona com SQL, pode ser que funcione pra essa ferramenta que voce usa.

Criado 24 de janeiro de 2020
Ultima resposta 26 de jan. de 2020
Respostas 4
Participantes 2