Josh
в параметре не число прилетает а доп поле
Nick
если не число, то что?
Josh
{ dust: 99, user: 'a' }
{ dust: 99, user: 'b' }
{ dust: 99, user: 'c' }
{ dust: 100, user: 'd' }
{ dust: 101, user: 'e' }
Josh
в запросе { user: 'c' }
отдать теперь
{ dust: 99, user: 'b' }
{ dust: 99, user: 'c' }
{ dust: 100, user: 'd' }
Josh
для этого надо в стейдж перед этим надо 99 для c, чтобы было с чем сравнивать
Nick
а суть какая в таком действии?
Nick
какая бизнес задача
Josh
хочу топ вывести
Josh
первых 5, счет игрока c и вокруг него соседние
Nick
итак вам нужно выбрать не тех кто рядом, а тех чьи позиции равны +1 и -1 от той что у игрока
Nick
решайте эту задачу
Josh
я ее и решал, не решил
Josh
чтобы решить надо знать вокруг чего решать, а прокинуть в следующий стейдж результат не могу
Nick
в частности вам нужно добавить понятие номер позиции, потом использовать skip-limit
Josh
аля офсет суррогатным полем, да, но чет никак
Josh
скип лимит в обе стороны это я сделал конеш
Josh
ни обратиться к предыдущему на месте, ни обратиться к прошлому стейджу, ни добавить дополнительно поля во все доке с подзапросом (скор пользователя вокруг которого ищем)
Josh
в 2 запроса решать только, тогда уж просто на клиенте (как сейчас), либо кешировать
Nick
да в два запроса
Nick
еще вопрос, сколько пользователей в системе может быть?
Vadym
Добрый день, подскажите пожалуйста как посчитать количество дней в запросе. Например, я ищу с 1 по 5 число, но данные есть только с 1 по 3. Мне нужна сумма по дням / число дней. Хочу написать в одном запросе. Пока делаю {$addToSet: "$day"} и потом хочу брать $size от сета и общую сумму делить на количество дней (размер сета). Есть ли проще решение, чтобы посчитать данные в разрезе чего-то? Например в sql есть оконные функции и partitionBy.
Nick
Vadym
Nick
Зато это значит что вы знаете в приложении какие дни ожидаете и должны смапить результат на те дни которые ждете
Nick
Короче если нет данных в базе, то вы их изниоткуда не получите
Vadym
да, но если я посчитал сумму за 15 дней, а запрос на 30, то я должен делить сумму на 15, а не на 30
Nick
так и делите в приложении или передавайте параметром
Nick
вы зачемто переносите в базу логику уровня представления
Евгений
Добрый день. Подскажите актуальную литературу по MongoDB.
Vadym
Daniil
Евгений
Саша
Добрый день. Можете подсказать, где почитать про создание кластера с двумя хостами для репликации?
Aga
Приветствую, возник вопрос касательно структуры бд: пилим механику мэтчинга как в тиндере. После оценивания профиля (like/dislike) чекается на наличие запись в бд matches, если есть и это лайк - мэтчим. Если нет, создаём новую запись и указываем свой айдишник, партнёра и фидбек (если лайк, то секунды, обычный список).
Вопрос, как грамотно построить структуру записей matches чтобы мэтчить и в дальнейшем без проблем можно было извлекать как историю и исключать повторы просмотров?
Anton
Добрый вечер, не подскажите, какие образом можно искать соответствие строки без учета регистра?
kk
kk
https://docs.mongodb.com/manual/reference/operator/query/regex/
Anton
$regex ?
Про него уже слышал, просто небольшую подсказку хотел, нашел, опция /i, спасибо
Sardor
Ребят, как сделать, чтобы документ создавался, только если не существует такого объекта, и не изменял докумнент, если он уже существует?
Попробовал updateOne() с $set и upsert: true, но оно изменяет существующий документ
Sardor
Aga
Господа, не подскажите как найти записи учитывая список исключений айдишников? Типа блэклиста записей, которые не должны попасть в резалт
Нужно подобрать рандомных пользователей учитывая историю просмотра, чтобы не было повторов
Aga
Тоже решил, оказывается есть $nin, противоположность $in
yopp
Приветствую, возник вопрос касательно структуры бд: пилим механику мэтчинга как в тиндере. После оценивания профиля (like/dislike) чекается на наличие запись в бд matches, если есть и это лайк - мэтчим. Если нет, создаём новую запись и указываем свой айдишник, партнёра и фидбек (если лайк, то секунды, обычный список).
Вопрос, как грамотно построить структуру записей matches чтобы мэтчить и в дальнейшем без проблем можно было извлекать как историю и исключать повторы просмотров?
Так как задача сводится к вычитанию небольшого множества оцененых профилей из гиганского множества неоцененых множеств, то простого ответа на этот вопрос нет.
Пока первое множество где-то в тысячах, а второе до миллиона, то проще всего обойтись $nin
Aga
Иван
Коллеги, снова ищу вашей помощи!
Использую MongoDB.Driver 2.7.2 C#.
Есть коллекция документов Data, которая содержит точность измерений.
Нужно отсортировать коллекцию Data по точности (по убыванию/возрастанию)
В памяти сортировать - идея плохая, т.к. записей очень много
Можно ли это сделать с средствами MongoDB?
Иван
Иван
Nick
Иван
индекс на поле со сзначением и указывать сортировку при выборке
Добавил индекс к полю AccuracyModel.Value.
Но совсем не понятно как указать сортировку при выборке.
OrderByDescending принимает в качестве аргумента селектор на поле. Когда делаю
query = query.Where(z => z.Accuracy != null...)
.OrderByDescending(x => x.Accuracy - это словарь в c#, а в монге ArrayOfDocuments )
не могу понять, как выбрать из словаря поле
Nick
в C# не знаю, поищите доку к драйверу или может еще кто подскажетё
yopp
Иван
Иван
Получилось запутанно)
yopp
type => type.Accuracy.Select(sub => sub.Value)?
Иван
Монга тут выбрасывает ошибку, что Only fields are
yopp
Only fields are что именно? :)
Иван
Select возвращает выборку и монге это не нравится
Иван
видимо OrderBy не должен включать внутри себя выполняемые конструкции
yopp
а почему`e.Value.Value`?
Иван
а почему`e.Value.Value`?
public decimal? Value {get; set;} // это Nullable поле, чтобы получить тип decimal, а не decimal?
yopp
ох, я очень плохо в linq разбираюсь. а какой интерфейс у x?
yopp
А почему бы не collection.Find(filter).Sort("{'accuracy.value': -1}»)?
Иван
Виктор
Здрасьте, нужна помощь, получаю объект в котором есть массив Answers
Это массив объектов, в каждом объекте под ключем author лежит ссылка на User
Как мне достать по ссылке на User - email
Виктор
yopp
https://docs.mongodb.com/manual/reference/operator/aggregation/lookup/#perform-a-single-equality-join-with-lookup
Alexander
народ, а что сейчас в моде для дизайна mongoose-схем?
Александра
Кто нибудь уже читал книгу "Mongodb. Полное руководство"?
critskiy
В английском исполнении вроде, если вы про MongoDB: The Definitive Guide
Александра
Ага, про неё
Александра
Есть ли кого нибудь на русском в электронном виде?
Гена
Добрый день
Подскажите есть ли возможность проверить когда была последняя активно в бд?
Гена
@dd_bb
yopp
Гена
Гена
только смотреть когда последняя запись в коллекцию была ?