Size: a a a

2020 May 17

JD

Josh Dies 🥭 [man go]... in MongoDB Russian
{ dust: 99, user: 'a' }
{ dust: 99, user: 'b' }
{ dust: 99, user: 'c' }
{ dust: 100, user: 'd' }
{ dust: 101, user: 'e' }
источник

JD

Josh Dies 🥭 [man go]... in MongoDB Russian
в запросе { user: 'c' }

отдать теперь

{ dust: 99, user: 'b' }
{ dust: 99, user: 'c' }
{ dust: 100, user: 'd' }
источник

JD

Josh Dies 🥭 [man go]... in MongoDB Russian
для этого надо в стейдж перед этим надо 99 для c, чтобы было с чем сравнивать
источник

N

Nick in MongoDB Russian
а суть какая в таком действии?
источник

N

Nick in MongoDB Russian
какая бизнес задача
источник

JD

Josh Dies 🥭 [man go]... in MongoDB Russian
хочу топ вывести
источник

JD

Josh Dies 🥭 [man go]... in MongoDB Russian
первых 5, счет игрока c и вокруг него соседние
источник

N

Nick in MongoDB Russian
итак вам нужно выбрать не тех кто рядом, а тех чьи позиции равны +1 и -1 от той что у игрока
источник

N

Nick in MongoDB Russian
решайте эту задачу
источник

JD

Josh Dies 🥭 [man go]... in MongoDB Russian
я ее и решал, не решил
источник

JD

Josh Dies 🥭 [man go]... in MongoDB Russian
чтобы решить надо знать вокруг чего решать, а прокинуть в следующий стейдж результат не могу
источник

N

Nick in MongoDB Russian
в частности вам нужно добавить понятие номер позиции, потом использовать skip-limit
источник

JD

Josh Dies 🥭 [man go]... in MongoDB Russian
аля офсет суррогатным полем, да, но чет никак
источник

JD

Josh Dies 🥭 [man go]... in MongoDB Russian
скип лимит в обе стороны это я сделал конеш
источник

JD

Josh Dies 🥭 [man go]... in MongoDB Russian
ни обратиться к предыдущему на месте, ни обратиться к прошлому стейджу, ни добавить дополнительно поля во все доке с подзапросом (скор пользователя вокруг которого ищем)
источник

JD

Josh Dies 🥭 [man go]... in MongoDB Russian
в 2 запроса решать только, тогда уж просто на клиенте (как сейчас), либо кешировать
источник

N

Nick in MongoDB Russian
да в два запроса
источник

N

Nick in MongoDB Russian
еще вопрос, сколько пользователей в системе может быть?
источник
2020 May 18

V

Vadim in MongoDB Russian
Добрый день, подскажите пожалуйста как посчитать количество дней в запросе. Например, я ищу с 1 по 5 число, но данные есть только с 1 по 3. Мне нужна сумма по дням / число дней. Хочу написать в одном запросе. Пока делаю {$addToSet: "$day"} и потом хочу брать $size от сета и общую сумму делить на количество дней (размер сета). Есть ли проще решение, чтобы посчитать данные в разрезе чего-то? Например в sql есть оконные функции и partitionBy.
источник

N

Nick in MongoDB Russian
Vadim
Добрый день, подскажите пожалуйста как посчитать количество дней в запросе. Например, я ищу с 1 по 5 число, но данные есть только с 1 по 3. Мне нужна сумма по дням / число дней. Хочу написать в одном запросе. Пока делаю {$addToSet: "$day"} и потом хочу брать $size от сета и общую сумму делить на количество дней (размер сета). Есть ли проще решение, чтобы посчитать данные в разрезе чего-то? Например в sql есть оконные функции и partitionBy.
Если вы в запросе указываете начало и конец периода то вы уже знаете количество дней, вот и делите в приложении потом
источник