У меня есть серверная часть Node.js, которая связывается с моим MongoDB, и мне нужно отфильтровать некоторые результаты из базы данных. Проблема в том, что когда я отправляю запрос, я просто получаю пустой массив в ответ.
function setTOQuery() {
let path;
let filter;
let query = {};
return new Promise((resolve)=> {
if(params.A.length === 0 ) {
path = "booked.services";
filter = { '$exists': true };
query[path] = filter;
} else {
path = "booked.services.service_id";
filter = { '$in': params.A };
query[path] = filter;
}
resolve(query);
});
}
async function retrieveData() {
const toQ = await setTOQuery();
CustomerModel.find({
toQ
}, (err, docs) => {
if(err) console.log(err);
console.log(toQ);
console.log(docs);
res.status(200).send(docs);
return docs;
})
}
retrieveData();
console.log(toQ)
возврат { 'booked.services': { '$exists': true } }
так что я не понимаю, что здесь не так. С обоими запросами я просто получаю []
. Я подозреваю, что с async / await что-то не так, но я не знаю, что именно.
Любая помощь будет оценена