Андрей
Как удалить записть если id=5 или 5 присутствует в списек "list"?
Nick
$or:[
{id:"5"},
{list.id:"5"}
]
Андрей
Андрей
Библиотка motor
Nick
тут не подскажу
Nick
эм, гляунл там такой же синтаксис
Nick
прост оиспользуйте как есть
Nick
может в кавычки тока пооборачивать
Dmitriy
Nick
а чем массивы из примитивов не устраивают?
Nick
а
Dmitriy
У массива вроде как только числовой ключ может быть
Dmitriy
Причем последовательный
Nick
долго писать
Андрей
Там id и элементы массива строки кстати
Андрей
Тоесть "5"
Nick
подправил
Dmitriy
👍
Denys
всем привет, подскажите плз, чем можно заменить studio 3t?
Valdis
с каким пакетов вы делаете миграции?
Anonymous
Ребят, мой вопрос, конечно, не такой интересный, как мемуары трейдера, но, может, кто-нибудь посоветует.
Нужно хранить некоторые показатели для сущностей на протяженном временном периоде.
Схема будет вроде
{ parent: oID,
_id,
date: ISODate,
value: Long },
это нормальное решение? сущностей около двух-трёх тысяч.
для показателей отдельаня колекция.
И второй вопрос, показатели будут с разной периодичностью, то есть в какой-то промежуток например 2 часа, а в какой-то - 2 минуты. Будет скорее всего задача задавать масштаб приближения, то есть выбирать, ряд с какой частотой замеров показать.
Как такое реализовать? Есть общие практики?
Оправдано ли всё лить в одну кучу, или лучше распределить по разным коллекциям? типа ValuesDaily. ValuesWeekly?
yopp
Ребят, мой вопрос, конечно, не такой интересный, как мемуары трейдера, но, может, кто-нибудь посоветует.
Нужно хранить некоторые показатели для сущностей на протяженном временном периоде.
Схема будет вроде
{ parent: oID,
_id,
date: ISODate,
value: Long },
это нормальное решение? сущностей около двух-трёх тысяч.
для показателей отдельаня колекция.
И второй вопрос, показатели будут с разной периодичностью, то есть в какой-то промежуток например 2 часа, а в какой-то - 2 минуты. Будет скорее всего задача задавать масштаб приближения, то есть выбирать, ряд с какой частотой замеров показать.
Как такое реализовать? Есть общие практики?
Оправдано ли всё лить в одну кучу, или лучше распределить по разным коллекциям? типа ValuesDaily. ValuesWeekly?
если данных мало, то нормальное
yopp
если данных много, то нет
yopp
мало это сотни тысяч, может быть миллионы, сумарно
Anonymous
думаю вполне вероятно переползти в млрд, как тогда?
yopp
тогда всё будет зависеть от того, как вы будете получать эти данные
yopp
в смысле какие срезы вам нужны, с каким временным разрешением
yopp
есть множество различных способов, включая хранение во всяких странных кодировках типа delta of delta в binary поле
Nick
вам для графиков, отчетов или какую стату считать?
yopp
yopp
но никакой «серебрянной пули» тут не будет, как я уже сказал есть куча разных способов, у них у всех есть свои ощутимые плюсы и минусы
yopp
вы хотите в монге реализовать временные ряды с различными агрегациями, меняющими временное разрешение
Anonymous
как должно, это вы должны решить :)
я просто даже пока не знаю, с какого бока подступиться, данные реально могут быть разной степени упорядоченности, например день - день - сутки с показаниями интервалом 2 минуты - день - день, то есть мне либо нормализовывать к одному интервалу или я не знаю что
yopp
это значит у вас требования не достаточно точно зафиксированы
Nick
тут проще всего хранить как есть, со временем вы поймете какие задачи перед вами стоят и во что они упираются, потом подкорректирвоать структуру хранения, а то может и вообще переработаь отношение к данным и делать преагрегаты и т.п. дичь
yopp
составьте планы запросов, смоделируйте нужные ответы в том виде, в котором они будут максимально удобны для потребляющих систем
yopp
yopp
_сейчас_
Nick
всеравно такой подходу будет лучше, пока не будет хотя бы десятка лямов из ожидаемого млрд ничего вменяемого не получится предложить
yopp
нет «лучший», есть «дешевый» :)
yopp
чтоб было лучше или хуже, нужны качественные критерии оценки
Nick
с этим не поспоришь)
Art
ребят, подскажите, пожалуйста
Есть массив объектов
Надо взять первый и последний объект и сравнить их свойство n. Если идентичны, то взять id документа
Как то это в монге можно сделать? Подскажите, хотя б что гуглить ?
yopp
yopp
yopp
Nick
не надо чего?
yopp
yopp
не надо чего?
давать советы про «специализированное», потому что там тоже всё не так просто)
Nick
ну тут уж хз
yopp
700 в час это песочек, так что можно хранить в монге вообще не особ запариваясь
yopp
может быть в бакеты сложить
Nick
yopp
чтоб _id лишний раз не плодить
yopp
но это уже оптимизация
Anonymous
храните как удобно
а выбирать как?) если опять же сделать коллекции типа день/неделя/месяц то с моим кейсом, когда данные за месяц появятся раньше чем данные за день на несколько месяцев, а показать надо будет данные за весь промежуток сбора, то мутить логику? хочется прсто как-то это без костылей реализовать. Да и в принципе, если на уровне монги, насколько норм способ с несколькими коллекциями разного временного разрешения - норм? я прост тогда так и сделаю наверное, как самый простой и наивный вариант
yopp
yopp
главное даты хранить как даты и использовать $group как выше написали
yopp
Anonymous
тогда по af как выбрать их мелкой коллекции по часам данные по одной записи на день на промежутке в год? группировать по месяцам а потом по номеру дня?
yopp
если вам нужно детерменированно упорядочить документы, то вам необходимо их отсортировать по какому-то полю
yopp
Anonymous
yopp
храните «сырые» данные и потом уже агрегируйте
yopp
следите за временем отвата и когда оно начнёт прибилижаться к некомфортному, можно будет думать об оптимизации
Art
yopp
если есть возможность, то лучше поменять схему таким образом, чтоб first и last элементы были в отдельных ключах
Denys
всем привет, подскажите, что это заошибка:
пытаюсь обновить документ
await models.UserModel.findOneAndUpdate({ _id: ownerComment._id.toString() }, { $set: ownerComment }, { new: true })
.then((owner) => {
notificationRepo.createNotificationForUsefulComment(owner, article._id);
})
.catch(err => console.log(err));
Anonymous
добрый день! не могу понять почему не работает монга, гуглил но ясного ответа на свой вопрос не получил. Подскажите пожалуйста с чем может быть свзяана проблема? Данные: Distributor ID: Ubuntu
Description: Ubuntu 18.04.2 LTS
Release: 18.04
Codename: bionic
Artem
Я оздаю колекцию, создаю индекс, добавляю данные и пытаюсь провести мультиязычный поиск по корню слова
https://pastebin.com/hUsG2mgT , но не получаю результат
Artem
не кто не подскажет что я не так делаю
Artem
?