Я работаю над разработкой функции веб-приложения, предлагающей цены для пользователей на основе предыдущих заказов в базе данных. Я использую базу данных MongoDB NoSQL. Прежде чем начать, я пытаюсь найти лучший способ настроить объект заказа для возврата правильных результатов.Запрос точных совпадений в MongoDB
Когда пользователь делает заказ, например: 1 cheeseburger + 1 fry
, McDonalds
, 12345 E. Street, MyTown, USA
... он должен возвращать только те объекты, которые являются ТОЧНЫМИ соответствиями из базы данных.
Например, я бы не хотел получать заказ, содержащий 1 cheeseburger + 1 fry + 1 shake
. Я буду поддерживать средние цены и рассчитывать за этот точный порядок.
{
restaurantAddress: "12345 E. Street, MyTown, USA",
restaurantName: "McDonald's",
orders: {
{ cheeseburger: 1, fries: 2 }
: {
sumPaid: 1444.55,
numTimesOrdered: 167,
avgPaid: 8.65 (gets recomputed w/ each new order)
},
{ // repeat for each unique item config },
{ // another unique item (or items) }
}
Считаете ли вы, что это эффективный и эффективный способ создания документа в MongoDB? Или я должен использовать несколько документов?
Если это действительно, как я могу запросить его только для возврата точных заказов? Я посмотрел на $eq
, но, похоже, это не то, что я искал.