Size: a a a

2020 May 27

DC

Daniyar Changylov in MongoDB Russian
Вячеслав Волков
ну юзай elemMatch
просто проблема следующая: когда пытаюсь работать с nested object(который только ссылается), я не могу работать с его данными, извесно только его id
источник

ВВ

Вячеслав Волков... in MongoDB Russian
Artem Verbat
Приветствую! Хочу спроектировать базу для ресторана. Сложность в том как организовать позиции, например пицца, суп, напитки и тд. у них есть общие данные, например цена, название, описание, и есть отличающиеся, например у пиццы разные бортики и размеры. И как потом их с заказом связывать. Я вообще фронтендер, и собственно вопрос такой, что почитать, куда посмотреть, что-бы максимально быстро разобраться как что правильно делать? Года три назад уже работал с монго, но тогда была задача проще, да и не помню уже ничего.
храни коллекции жрачки а для каждого меню позицию, в которой указана жрачка и дополнительные свойтсва
источник

ВВ

Вячеслав Волков... in MongoDB Russian
Daniyar Changylov
просто проблема следующая: когда пытаюсь работать с nested object(который только ссылается), я не могу работать с его данными, извесно только его id
по-моему elemMatch решает этот вопрос, ща чекну
источник

ВВ

Вячеслав Волков... in MongoDB Russian
Вячеслав Волков
храни коллекции жрачки а для каждого меню позицию, в которой указана жрачка и дополнительные свойтсва
jrachka {
 value: ‘cock’
}

menu: {
 jrachkaOptions: {
   jrachka: {
     ref: ‘jrachka’
   },
   chenibud: ‘some'
 }
}
источник

ВВ

Вячеслав Волков... in MongoDB Russian
ну это грубо говоря
источник

ВВ

Вячеслав Волков... in MongoDB Russian
Вячеслав Волков
по-моему elemMatch решает этот вопрос, ща чекну
а не, не решает)
источник

ВВ

Вячеслав Волков... in MongoDB Russian
ну так ты мб сначала получи айдишники всех коллекций что тебе надо и уже потом по ним ищи
источник

ВВ

Вячеслав Волков... in MongoDB Russian
получи их с помощью отдельных запросов в монгу
источник

ВВ

Вячеслав Волков... in MongoDB Russian
ну понятно что не всегда есть возможность)
источник

AV

Artem Verbat in MongoDB Russian
Вячеслав Волков
храни коллекции жрачки а для каждого меню позицию, в которой указана жрачка и дополнительные свойтсва
А есть какой-то юи где можно удобно смоделировать всё (документы и их связи), что-бы лучше в голову уложить перед кодингом?
источник

ВВ

Вячеслав Волков... in MongoDB Russian
в закрепах че-то было
источник

DC

Daniyar Changylov in MongoDB Russian
Вячеслав Волков
ну понятно что не всегда есть возможность)
а что если типа найти все, спопулизировать, а потом через exec function фильтровать?
источник

ВВ

Вячеслав Волков... in MongoDB Russian
Artem Verbat
А есть какой-то юи где можно удобно смоделировать всё (документы и их связи), что-бы лучше в голову уложить перед кодингом?
кстати я возможно не лучший совет тебе дал, потому что мб не правильно понял, поэтому можешь попыаться сформулировать вопрос лучше. но мб и правильно)
источник

ВВ

Вячеслав Волков... in MongoDB Russian
Daniyar Changylov
а что если типа найти все, спопулизировать, а потом через exec function фильтровать?
ну ты можешь и так делать, но возьми утопичную ситуацию, когда у тебя миллион записей. тогда у тебя сервер повиснет
источник

DC

Daniyar Changylov in MongoDB Russian
Artem Verbat
А есть какой-то юи где можно удобно смоделировать всё (документы и их связи), что-бы лучше в голову уложить перед кодингом?
лучше всего ручка, тетрадь и брейншторм
источник

DC

Daniyar Changylov in MongoDB Russian
Вячеслав Волков
ну ты можешь и так делать, но возьми утопичную ситуацию, когда у тебя миллион записей. тогда у тебя сервер повиснет
нууу.. в этом проблема
источник

ВВ

Вячеслав Волков... in MongoDB Russian
значит юзай лукап правильно, ничего он жрет, он даже меньше чем популэйт забирает
источник

DC

Daniyar Changylov in MongoDB Russian
Вячеслав Волков
значит юзай лукап правильно, ничего он жрет, он даже меньше чем популэйт забирает
я просто тестил lookup+unwind на 200к... как бы много забрал😅
источник

ВВ

Вячеслав Волков... in MongoDB Russian
Знаешь короче че щас нарыл. Ты популэйт не можешь заюзать без какой-то коллекции собранной уже. Ну короче можешь сделать так:

collection.populate(collection.aggregate(…), options);

А так как тебе нужно только по ожному какому-то полю искать, то сделай лукап только на него
источник

ВВ

Вячеслав Волков... in MongoDB Russian
ну типа вынеси результаты в отдельное поле и по-нему строй уже логику
источник