Код: Выделить всё
export const findCustomer = async (query?: FindCustomerParams) => {
try {
await database.connect();
} catch (err: any) {
throw new Error("Could not connect to the database. Root error: " + err);
}
if (!query) {
return await customer.find();
}
findCustomerParams.parse(query);
let returnCustomers;
try {
const fetchedCustomers: (Omit & { address?: FindOneCustomerParams["address"] })[] | null =
await customer.find(query ? removeFalsyValues({ ...query, _id: new mongoose.Types.ObjectId(query.id) }) : {});
if (!fetchedCustomers) {
throw new Error();
}
if (query.address) {
const fetchedAddresses = await addressMethods.find(query.address);
for (let i = 0; i < fetchedAddresses.length; i++) {
if (!fetchedAddresses || !fetchedAddresses[i].customers.includes(fetchedCustomers[i]._id)) {
throw new Error(`Could find address on customer ${fetchedCustomers[i]._id}`);
}
fetchedCustomers[i].address = fetchedAddresses[i];
}
}
returnCustomers = fetchedCustomers;
} catch (err: any) {
throw new Error("Failed to find a customer. Root error: " + err);
}
await database.close();
return returnCustomers;
};
Код: Выделить всё
await findCustomer({firstName: "Ethan"})
< /code>
Вот тот, который не возвращает результат: < /p>
await findCustomer({_id: id})
< /code>
Я могу получить пустой массив, когда мне следует увидеть одного клиента. < /p>
Я попробовал следующее: < /p>
[*] Я подтвердил, что идентификатор < /li>
проверил, что я подключен к моему Atlas < /li> < /li>
. Datatype от string [*] Запрос как идентификатором , так и _id ни работы
В консоли нет ошибок
Подробнее здесь: https://stackoverflow.com/questions/796 ... g-mongoose
Мобильная версия