yopp
практически уверен что раза в 10 минут и кнопки «обновить сейчас» хватит за глаза :)
Anonymous
ну тут соглашусь, думаю так и определим с заказчиком)
еще раз спасибо)
Ilya
Зачем вам вытаскивать данные?
Если в кратце, то у меня есть 2 массива. В массив номер 1 пишутся некоторые числа. Когда длина массива 1 достигает 100, по всем этим 100 значениям находится среднее арифметическое и записывается в массив номер 2, в то время как массив номер 1 полностью очищается. Кроме того, в массив номер 2 записывается не просто цифра, но объект, с полями value(среднее арифметическое) и timestamp(Date.now), для того, чтобы этот массив очищать - в нем должны храниться только значения за последние сутки.
Я все это сделал с помощью updateOne + aggregation pipeline, одним запросом. Только эта функция у меня получилась настолько громоздкой и тяжелой, что выполняется она в среднем за 400мс.
Ilya
К примеру, для того, чтобы для массива 2 отсеять устаревшие значения (позже последних 24 часов), мне приходится использовать $filter. Судя по всему, он пробегается по всему массиву, а если у меня там несколько тысяч значений лежит, то естественно, что функция будет выполняться медленно. Я поначалу хотел просто $slice использовать, но потом осознал, что у меня не получиться получить индекс для обрезания
yopp
а какую проблему вы решаете?
Ilya
yopp
а что за статиситика и что за сложности с расчётами?
IB
Добрый ночи всем
IB
Добрый вечер Вопрос по не теме
var ru en
_______________
msg привет hello
Как можно взять msg+1 элемент (привет)
Как можно взять msg+2 элемент (hello)
Вопрос связанный с mongodb библиотека mongoengine
Nick
IB
Anonymous
Друзья, подскажите, ынтырпрайзную версию Монги можно в деве/паленьком проде безпроблемно юзать?
yopp
Нет
Anonymous
Тот же оракле особо не парится с защитами
yopp
Точнее так, легально нет
Anonymous
Я про технические ограничения
yopp
Легально Q&A и Dev версии стоят 50% от полной лицензии
yopp
Это нарушение лицензии
yopp
В остальном: вы можете её использовать в ознакомительных целях, там нет ограничений
Anonymous
приятно, спасибо.
Гена
Ребята, подскажите пожалуйста.
У меня при подключении к ноде в реплике
Failed: error connecting to db server: read tcp *****: i/o timeout вот такая ошибка
НИчего к ней не подключается
Гена
оператива в норме
Alexandr
всем привет, подскажите по replicaset, как сделать ha для неё? вот есть у меня два инстанса db1 и db2, один primary, другой secondary
если я выключаю примари, а потом снова включаю его, у меня ошибка что хост not master
yopp
yopp
есть корректный вариант — добавить третью ноду или менее корректный вариант — добавить арбитра
yopp
Гена
yopp
что такое «троит», «баунсишь» и «спекает»?
Гена
Извини) троит - лагает. Не даёт залогиниться через шелл, например. Баунсить - рестартить. «Спекает» это т9, сорри. Не синкается. В итоге я не знаю на что ругаться. На монгу или на сервак. Плюс потом появляются какие-то адовые гэпы
Alexandr
Alexandr
Да вроде добавлен, не могу сейчас посмотреть, но спасибо за наводку
yopp
если арбитр есть, то смотреть что в логах
yopp
но если у вас 4.x и вы хотите использовать write/read concer majority то в этом случае арбитр не выход
yopp
в целом арбитр это крайняя мера, надежнее иметь третью ноду
yopp
yopp
проверить что ей хватает файловых дескрипторов
Andrey
подскажите, а mongodump может чекать и сохранять только изменения?
Ivan
yopp
S
парни, вы схемы храните в папке models?
Aleksandr
+
Alex
Ребята подскажите есть поле типа array {tags: ['tagName']} и в некоторых документах tags: []. Реально ли построить индекс для такого поля, например когда захочу выбрать документы где tags не пустой.
Vova
Vova
Как-то так
Vova
Это если без aggregation, в котором уже есть что-то типа $isEmpty
Антон
Здравствуйте, возник вопрос по поводу быстроты чтения. Есть 7 полей, поиск может производится по любому не пустому множеству данных полей. Чтобы обеспечить быстрый поиск без специфики данных необходимо 64 индекса, чтобы каждый запрос попадал на префикс индекса. Получается слишком много индексов. Если учитывать специфику данных и использовать не префиксный поиск то планировщик не видит план (Например индекс {a: 1, b: 1, c: 1} рассчитываем что будем производить поиск по полям a, c)
Антон
есть способ чтобы искал быстро но не так много и идексов?
yopp
yopp
но там есть всякие подводные камни
yopp
но надо понимать что итоговый индекс по размеру будет больше данных
yopp
про: (Например индекс {a: 1, b: 1, c: 1} рассчитываем что будем производить поиск по полям a, c)
compound индексы это способ сериализации значений в ключ индекса. в данном случае ключ индекса будет выглядеть как строка состоящяя последовательно из 3 значений ключей a, b и c.
поиск по ключу индекса это поиск слева на право.
как следствие эффективный поиск по a и c не возможен, так как середина ключа b не известна.
yopp
NCR
Товарищи, MongoDB - не реляционная субд?
yopp
да, монга не реляционная бд. в настоящий момент в монге нет реляционных гарантий
yopp
но с появлением транзакций, вы можете самостоятельно эти гарантии реализовать
yopp
Антон
хотя некоторые field могут отсутствовать, но это не для неопределенного индекса
yopp
я вам предлагаю не руководствоваться непонятно откуда взятым утверждением, а проверить гипотезу что wildcard будет эффективнее в вашей задаче чем 64 индекса
yopp
ещё может помочь если вы расскажете о предметной области
Антон
ещё может помочь если вы расскажете о предметной области
есть коллекция в которой документ единичной вложенности в коллекцию поступают запросы следующего шаблона:
db.collection.explain("executionStats").aggregate([{'$match': {'require_field': {'$exists': true}}}, <<< {'$match': {'date': {'$gte': ISODate("2018-06-01T13:52:01.935Z")}}}, {'$match': {'date': {'$lte': ISODate("2019-09-16T13:52:01.935Z")}}}, {'$match': {field_1: 1}}, >>> {'$sort': {'date': -1}}, {'$skip': 0}, {'$limit': 50}])
Антон
то что внутри <<< >>>> находится множество операций match по любому множеству из 7 полей
yopp
много документов?
yopp
match по дате всегда есть?
yopp
и как много таких запросов?
Антон
Антон
yopp
нагрузка, qpd
Антон
запросов 30 в минуту
yopp
я правильно понимаю что там skip/limit в основном отличается?
yopp
т.е. это какие-то отчёты по различным измерениям?
Антон
Andriy
всем привет, в базе есть запись типа такой
{ "_id" : ObjectId("5d94607394db53257d0f8d4d"), "url" : "https://www.instagram.com/433/", "description" : "Check out my Instagram profile with posts about sports!", "title" : "Do you like sports?", "paid_views" : 1000, "user_id" : "5d8e9951469c530de8f1faf127e737baac6fee751cd24", "image" : "", "approved" : true, "created_at" : 1570005107, "view_count" : 16828, "click_count" : 12, "user_view_count" : 2078, "user_click_count" : 7, "last_user_values_update" : 1570014002, "type" : "instagram", "admin" : false, "status" : "completed" }, мне нужно получить все записы которые approved = true и status $nin completed, stop.
делаю такой запрос db.promote_ads.find({approved: true, status: {$nin : ["completed", "stop"]} }) и какое то время он работает корректно, но потом начаниет отдавать записи в которых статус completed или stop, кто то сталкивался с таким?
заранее спасибо
Tonych
Коллеги, привет. Столкнулся с вот такой проблемой:
не запускается mongos с опцией security.authorization: enable
выдает:
Unrecognized option: security.authorization
Монго 4.2
Alexander
Всем привет!
Скажите, а сколько в версии 4 Монги можно иметь участников replica set? - в 3.6 их было 50, но я краем уха слышал, что увеличили.