Estou fazendo assim:
let where = {
data_hora: {
$gte: "2021-01-15",
$lte: "2022-10-03T23:59:59.000Z",
},
id_campanha: campanha,
};
const zanzar = await Zanzar.find(where).sort({
data_hora: -1,
id_campanha: -1,
});
Gera no console
Mongoose: zanzars.find({ data_hora: { '$gte': new Date("Fri, 15 Jan 2021 00:00:00 GMT"), '$lte': new Date("Mon, 03 Oct 2022 23:59:59 GMT") }, id_campanha: '493275'}, { sort: { data_hora: -1, id_campanha: -1 }, projection: {} })
Não retorna resultados
Mas
Traz resultados.
Como fazer esta consulta, retornar os dados reais no sistema ?
Talvez o timezone esteja influenciando na consuta: 2022-10-03T23:59:59.000Z. Tente deixar as datas ($gte e $lte) exatamente iguais tanto na consulta do sistema qdo no compass e veja o que retorna.
1 curtida
Digo deixar ambos assim:
$gte: "2021-01-15",
$lte: "2022-10-03T23:59:59.000Z"
Pois os valores estão diferentes na aplicação e no compass.
1 curtida
Não traz nada. No node ele monta assim:
zanzars.find({ data_hora: { '$gte': new Date("Fri, 15 Jan 2021 00:00:00 GMT"), '$lte': new Date("Mon, 03 Oct 2022 23:59:59 GMT") }, nome_campanha: 'A - Game - MagiCashQuiz'}, { sort: { data_hora: -1, id_campanha: -1 }, projection: {} })
Vi que vc disse sobre o timezone . Como ajusto ?
O que tinha pensando era vc não precisar passar o .000Z na data ao realizar a consulta pela aplicação, mas parece que não fez diferença pelos outros testes que vc fez.
1 curtida
Na verdade como o campo é DATEHORA, ele coloca o new Date, parece
O que será em ?