Мне интересно, какой был бы лучший способ хранить данные, например, заказы в ресторане, в моем mongoDB.Дизайн схемы MongoDB - огромный список
Итак, сначала мне понадобится коллекция «Заказы».
также потребуется сделать много чтения для синхронизации данных между официантами, поэтому я не хочу хранить заказы, которые завершены (оплачены), и заказы, которые все еще открыты в том же списке.
Итак, я придумал коллекцию «Заказы», которая имеет 2 поля массива: «текущий» и «история». В текущем состоянии я бы сохранил все заказы, которые все еще не оплачены (необходимо синхронизировать всех официантов), а в «истории» я бы сохранил все, что было закрыто, и к ним должны обращаться только менеджеры или кто-то, кто хочет просмотреть данные.
Таким образом, я могу свести к минимуму время доступа и отправку данных.
Будет ли это правильным, наилучшим способом для этого?
Или я должен хранить все в одном списке, а затем делать запрос, сортирующий по времени или аналогичному, и ограничивать количество документов, которые я отправляю обратно?
EDIT:
в этой коллекции я хочу сохранить заказы для нескольких ресторанов. поэтому я мог бы использовать один документ в этой коллекции для каждого ресторана и вставлять заказы там или поместить все заказы в эту коллекцию на одном уровне, а затем у каждого заказа будет ресторан.
в этой коллекции я бы заказывал несколько ресторанов, а не только один ресторан. Так что это не было бы проблемой, если бы я со временем, например, 10 000 заказов в одной коллекции, и получить те, у кого нет но я заплатил, что мне пришлось бы сканировать на основе выставленных счетов и ресторанов. Я мог бы использовать составной индекс здесь, будет ли это все в порядке относительно производительности? – deloki
@deloki Да, это должно быть довольно быстро, и индекс должен быть довольно легким, это всего лишь 2 поля – Sammaye