Joe
Какие субкатегории? Ссылку в доку хотя бы кинь
Joe
зачем прям тут пиши, вдруг кто-то дельную идею подкинет
Joe
то что ты ищешь это subdocument. не привязывайся к своей предметной области, когда ищешь что-то по какой-то технологии
Joe
https://docs.mongodb.com/manual/tutorial/query-embedded-documents/
https://zellwk.com/blog/mongoose-subdocuments/
Joe
я понял. тут все ребята либо работают, либо дела свои у них. Я лучше здесь отвечу, чтоб кто-то другой мог тоже найти ответ, если столкнется с такой же проблемой
Vadim
Vadim
И в цепочке промисов делать populate также рабочий вариант
Alexey
Привет, парни,
скажите по ObjectId - это сквозная нумерация id-шников по всей коллекции (или может вообще по всей базе) или только в рамках некой ограниченной структуры?
Т.е. могут ли id-шники в каком-то случае совпасть?
Могу ли я обновить поле глубоко внутри документа только по его _id?
Daniil
Nick
Alexey
+ спасибо
Евгений
кто работал с драйвером дляMongo для .net? Можно ли BsonDocument.ToJson() заставить даты и long слать в нормальном формате, а то такая петрушка получается
{ "_id" : "5f69f4adc8538aeae99d12cb", "_lastUpdate" : { "$date" : { "$numberLong" : "1600779435067" } }, "_createDate" : { "$date" : { "$numberLong" : "1600779436035" } }, "_sequence" : { "$numberInt" : "2" }, "_version" : { "$numberInt" : "1" } }
Что касается поля _lastUpdate и т.д.
Евгений
чтобы он сериализовал в "_lastUpdate":1600779435067
Евгений
без всяких указаний, что мол date и т.д.
Евгений
да, это BsonDocument если че)
Alexey
Joe
Alexey
({_id...} , {fieldForUpdate....})
Когда я делаю find по этому _id (который засунут глубоко в документ), то ничего не находит.
В таком случае и update не должен сработать
Alexandr
Всем привет, как правильно построить индексы для такого запроса?
{
$match: {a: true, b: false}
},
{
$sort: {time: 1}
},
{
$group: {
_id: '$x',
items: {$push: '$$ROOT'}
}
}
использовать compound на a и b, и отдельный на time, или compound на все 3 значения? нужен ли тут также индекс на x?
Daniil
Daniil
и обновлять соответственно также
Alexey
ничего не вышло)
Alexey
ок, смотрю
Тарас
Привет, когда хочу обновить поле в документе, выскакивает еррор. Если делаю $unset, тоже еррор. Как мне обновить это поле в документе, и почему она посчитало его Immutable, если это простой enum
Тарас
Daniil
Daniil
Монга оперирует документами целиком
Daniil
Вы конечно можете выбрать отдельные поля через projection
Alexey
Не является ли плохим тоном адресация такого формата?
Alexey
db.products.update(
{ _id: clProduct._id },
{ $set: {
'matchings.0.items.0.accepted : true,
'matchings.0.items.0.error : true }
}
)
Alexey
или нормас?
Alexey
Вот такая макаронина: matchings.0.items.0.accepted
Nick
нормально
Anonymous
Привет. Подскажите визуальный редактор для редактирования схемы mongodb? Благодарю!
Nick
Anonymous
Нет - это относительно. Но связи между коллекциями - есть.
Nick
на уровне бд - нет, все в вашем софте
Веселый Роджер
Почему я не могу менять поле none, через компас?
Alexey
Alexey
Nick
Alexey
Anonymous
Подскажите визуальный редактор для схемы и связей mongodb? Благодарю!
yopp
Alexey
yopp
а так, любой UML редактор подойдёт
Alexey
Anonymous
👍
Nick
Andrey
Привет. подскажите как такое сделать на монгодб?
Есть база в которую добавляется каждую минуту записи.
Есть страница на которую заходит человек и по бесконечному скроллу может просматривать историю добавлений
Сначала решил разбить на пагинацию, но т.к. записи добавляются постоянно такое не сработало
.find({})
.sort({created_at: -1})
.skip(page > 0 ? page * onPage : 0)
.limit(onPage)
Сейчас идея, чтоб запоминать id документа который был первым в сортировке по дате. и тать началом первым до следующей перезагрузки страницы по логике думаю так есть в монго что-то подобное? или куда копать:
.find({})
.sort({created_at: -1})
.start({_id: startId})
.limit(onPage)
Anonymous
Joe
https://dbmstools.com/categories/database-design-tools/mongodb
https://www.google.com/amp/s/holycoders.com/best-mongodb-schema-design-tools/amp/
Андрей
populate работает как select? Я когда популейтю, и делаю select ('firstSection') мне так же помимо firstSection и canIHelpSection приходит ?
Anonymous
Вы сами этим пользовались?
Андрей
Dr
Кто-нибудь делал selective replication? Конкретно в моём случае программеры просят данные из одной бд перекладывать в другую бд и/или кластер, причём не все, а по какому-то их алгоритму (не всё поля или не все коллекции)
Dr
Думал в сторону mongo streams, но это приложение надо делать, которое слушает и перекладывает
Dr
Поэтому сейчас думаю в сторону триггеров
Dr
Но это, боюсь, не гарантирует консистентности
Андрей
Dr
Хороший вопрос. Не уверен.
Тарас
Привет, что может значить, что shard key не найден, но я его даже не добавлял, и шардирование в бд отключено, немогу обновить документ
Тарас
Nick
Тарас
3.6.0
Тарас
На локалке все окей, на локалке 4.4.0 версия
Гена
Всем привет
Подскажите пожалуйста, как на высоконагруженной бд переименовать индекс?
Я знаю что дропаем и пересоздаем.
НО!
Высоконагруженный кластер.
Какой Best Practice ?
Daniil
Daniil
проще не переименовывать
Daniil
если индекс не критичный, то можно в бекграунде просто его запустить
Гена
Объясню в чем дело.
Я на продуктивной системе запустил дроп индекса а потом в бекграунде начал создавать его.
В итоге на 20 минут кластер просто задыхался