Я использую экспресс, реагировать и MongoDB. Я совершенно новый, чтобы выразить и REST API.
Я пытаюсь реализовать аналитическую часть для моего внешнего интерфейса по продажам, заказам и т. Д. Идея состоит в том, чтобы разрешить поиск диапазона дат, где у каждого объекта есть отметка даты, по которой я затем сравниваю и собираю данные.
Мой подход не работает, allOrder
, кажется, не собирает весь объект, как я ожидал.
var allOrder = []; // gather all orders and push them
do {
Order.find({ date: sDate })
.then(function(order) {
allOrder.push(order); //pushing order
})
.catch(next);
// create new search date (normally in another function)
startDate.setDate(startDate.getDate() + 1); // increment a day
startYear = startDate.getFullYear();
startMonth = startDate.getMonth() + 1;
startDay = startDate.getDate();
if (startMonth < 10) startMonth = "0" + startMonth; // fix format
sDate = `${startYear}-${startMonth}-${startDay}`; // create new search date
dayStart++;
} while (dayStart < days); // check the day range
res.send(allOrder); //once all days are done, send.
Это работает в том смысле, что увеличивает день, пока я не достигну определенной даты.
Например, я нахожу на 2018-12-25, затем увеличиваю день и нахожу на следующий день 2018-12-26. Все это работает, за исключением случаев, когда дело доходит до окончания данных обратно. При каждой находке я делаю получаю все данные, я просто не могу их сохранить, ТОГДА отправляю все вместе на фронт.
моя объектная модель
const orderScheme = new Schema({
name: { type: String },
date: { type: String },
customerName: { type: String },
customerPhone: { type: String },
orders: { type: Array }
});