Mars
Коллеги , подскажите ,пожалуйста ,🙏🏼 все-таки ,а есть ли варианты , чтобы база была в Атласе и доступна для российских пользователей ?
Alexandrr
Mars
Taras Kosyi (ง•̀o•́)ง
У меня в агрегации:
1. $sort по дате
2. группировка по именам, например $group
После этих двух степов массив групп не отсортирован, хотя я думал, что если входящие данные во втором степе будут отсортированы в первом степе, оно автоматически должно быть отсортированным во втором.
То есть я получаю вот такое:
[
{
name: “антон”,
invites: [
{ …, date: 2022.10.03 },
{ …, date: 2022.10.10 }
]
},
{
name: “саша”,
invites: [
{ …, date: 2022.12.03 },
{ …, date: 2022.10.07 }
]
}
]
А надо такое:
[
{
name: “саша”,
invites: [
{ …, date: 2022.12.03 },
{ …, date: 2022.10.07 }
]
} ,
{
name: “антон”,
invites: [
{ …, date: 2022.10.03 },
{ …, date: 2022.10.10 }
]
},
]
Не подскажите, в чем проблема агреггации? Не хочу второй раз сортировку по новой структуре делать, так как уже нет индексов. Или они есть даже после изминения структуры?
Dmitry
У меня в агрегации:
1. $sort по дате
2. группировка по именам, например $group
После этих двух степов массив групп не отсортирован, хотя я думал, что если входящие данные во втором степе будут отсортированы в первом степе, оно автоматически должно быть отсортированным во втором.
То есть я получаю вот такое:
[
{
name: “антон”,
invites: [
{ …, date: 2022.10.03 },
{ …, date: 2022.10.10 }
]
},
{
name: “саша”,
invites: [
{ …, date: 2022.12.03 },
{ …, date: 2022.10.07 }
]
}
]
А надо такое:
[
{
name: “саша”,
invites: [
{ …, date: 2022.12.03 },
{ …, date: 2022.10.07 }
]
} ,
{
name: “антон”,
invites: [
{ …, date: 2022.10.03 },
{ …, date: 2022.10.10 }
]
},
]
Не подскажите, в чем проблема агреггации? Не хочу второй раз сортировку по новой структуре делать, так как уже нет индексов. Или они есть даже после изминения структуры?
Если изначально сортировка не важна, то её лучше сделать в самом конце т.к. данные в процессе могут снова стать не упорядочными т.к. паралельность и т.д.
Taras Kosyi (ง•̀o•́)ง
Dmitry
В вашем случае надо будет сделать сортировку по приоритетам т.е. первый параметр это ключ в группе, а второй параметр массив invites
Dmitry
У вас в таблице есть индекс и уникальная запись, вы этим обновлением пытаетесь сделать их 2, поэтому ошибка.
Dmitry
С этим не подскажу т.к. уже пару лет не работал с SQL
Alexandrr
идти в тематический чат по SQL и задавать там эти вопросы
Alexandrr
@wextech
Alexandrr
🌈 Базы Данных
@dba_ru @sql_ninja
@dbmsdev @dbgeeks @sqlize
👩💻 PostgreSQL
@pgsql @postgis
@pgcodekeeper
@postgresql_1c_linux
👩💻 SQL Server
@sqlcom @mssql_ru
👩💻 MySQL и Oracle
@mysql_db @ru_mysql
@oracle_ru @oracle_dba_ru
👩💻 Другие
@mongodb_ru
@victoriametrics_ru1
@elasticsearch_ru @elk_ru
@clickhouse_ru @reindexer
@access_chat @tarantoolru
@cassandra_ru @ru_scylladb
📣 Подписаться на канал
Тим
Ребят было у кого так вывожу в лог параметры с коллеции там есть параметр "status" захожу в монгокомпас там нет такого ключа в этой же коллекции, да и обновить этот ключ не получается через updateOne (магия)
Тим
в общем компас не видит новую схему модуля куда я добавил параметр "status" и как быть?
Inline ®
здравствуйте как удалить объект в документе пользователя?
Dmitry
Inline ®
удалить нужно "exchanger"
Dmitry
Inline ®
Inline ®
console.log(t) возвращает документ пользователя, без изменений
Dmitry
Чтобы вернулся обновленный, надо { new : true } прокинуть в качестве третьего параметра
Inline ®
Dmitry
Dmitry
Dmitry
Inline ®
А почему у меня не работает
Inline ®
Прикол
Inline ®
Я mongoose использую, может в нем как-то по-другому нужно?
Inline ®
Ля
Inline ®
Интересно
Dmitry
Dmitry
Inline ®
Dmitry
А сама схема знает, что данное поле есть?
Inline ®
Dmitry
Dmitry
Dmitry
Dmitry
Inline ®
А нет, знает, из схемы не удалил ещё
Inline ®
Inline ®
Inline ®
Что можно ещё попробовать сделать?
Dmitry
Мой опыт подсказыет, что вам надо обвернуть Object в Schema и прописать тип, что это схема и возможно тогда mongoose пропустит
Inline ®
Inline ®
Я ещё когда-то слышал что если задать полю значение undefined то mongo автоматически удаляет это поле
Dmitry
Dmitry
На крайняк в самой схеме user можно прописать Mixed и по пробовать прогнать updateMany
Inline ®
Dmitry
Inline ®
Inline ®
А Mixed?
Работает, огромное спасибо
Inline ®
Dmitry
Pavlo
Всем привет, как лучше реализовать версии объектов. Делаем обучающую платформу с курсами. Нужно решить проблему, когда курс уже в продакшене и автор начинает его редактировать. Тогда логично было бы копию курса сделать которую можно редактировать. И здесь вопрос, дублировать объекты, это окей? Или лучше думать о версиях объектов и сохранять разницу между ними?
Alexander
Alexander
Alexandrr
как раз интересует как реализовать diff
новый апдейт - полная копия
новый курс - полная копия
после мерджа, можно удалять апдейт, что бы мусор не копился, но не оригиналы, иначе ссылки поедут
когда сравнить - метим расхождения в строках/абзацах, например, используя разделители точки или \n
Alexander
как раз интересует как реализовать diff
Пилить самостоятельно, если стандартные инструменты не подходят. Посмотреть в сторону git, diff, compare. А вообще нужно смотреть контент, что и как меняют.
Pavlo
Спасибо!
El
кто нибудь знает где взять адекватную инфу про составления схем для проверки данных без использования мангуста? Вот это прям полная хрень https://datatracker.ietf.org/doc/html/draft-fge-json-schema-validation-00
Nick
El
спасибо, надеюсь смогу разобраться
Nick
Alexandrr
https://json-schema.org/
кстати, гуглил ODM, ничего толкового не вышло из этого.
более менее нашёл mongoengine
профи советуют писать либо самому, либо не ебать мозги себе и взять обычную реляционку))
El
Nick