Запрос с помощью _ID ObjectId возвращает пустой массив с помощью MongooseJavascript

Форум по Javascript
Ответить
Anonymous
 Запрос с помощью _ID ObjectId возвращает пустой массив с помощью Mongoose

Сообщение Anonymous »

У меня есть следующая функция: < /p>

Код: Выделить всё

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;
};
Он работает для запроса на все, кроме _id . При запросе _id я могу получить пустой массив.

Код: Выделить всё

await findCustomer({firstName: "Ethan"})
< /code>
Вот тот, который не возвращает результат: < /p>
await findCustomer({_id: id})
< /code>
Я могу получить пустой массив, когда мне следует увидеть одного клиента. < /p>
Я попробовал следующее: < /p>

[*] Я подтвердил, что идентификатор < /li>
 проверил, что я подключен к моему Atlas < /li> < /li>
. Datatype от string 
to objectId
[*] Запрос как идентификатором , так и _id ни работы
В консоли нет ошибок

Подробнее здесь: https://stackoverflow.com/questions/796 ... g-mongoose
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»