Наталья
зависит от количества задач)
Dmitriy
или надо больше админов
Обычно нет, стоимость введения нового персонала очень дорогая. Первые 2 - 3 месяца новый человек на работающем проекте практически бесполезен. Поэтому всегда дешевле планирование пусть и на большие сроки + приоритезация задач
Наталья
посмотрю как быстро втянуться
Наталья
я нахожусь в растущем проекте
Roman
+ аналогично
А дедлайны?
Anonymous
Вопрос к тем кто работает на удаленке. Как контролируют время: работаешь ты или нет?
Точно так же как и на не удаленке Есть работа, которую нужно сделать вчера - ты делаешь
Dmitriy
зависит от масштабов и роста проекта
Не зависит) вы просто перейдите на язык денег, который понятен руководству. Найм 3 сотрудников будет стоить конюмпании X денег за 3 месяца, при этом сделать они смогут задач в стандартном спринте на Y задач. При этом увеличение сроков выполнения задач уже работающим сотрудником будет стоить компании Z денег
Dmitriy
Соответственно если дельта между (X * Y) - Z будет больше нуля, то это самый важный аргумент для любого бизнеса. Тем более растущего, у которого привлечение инвестиций сейчас встанет ;)
Dmitriy
2-3 месяца для вьезда в проект это много. 2 недели вполне хватит
Смотря какого результата вы хотите и какого размера проект, стандарт испытательного срока в 3 месяца не просто так придуман
Наталья
А дедлайны?
пиздец надо разработчикам мои дедлайны)
Roman
пиздец надо разработчикам мои дедлайны)
При чем тут ваши, я вообщем спрашиваю)
Denis 災 nobody
@yatoba
Denis 災 nobody
1.5к человек, а даже команды репорт нет... Не говоря об антиспамботе
Alexander
Всем привет) нужен совет, держу базу для парсинга на монго, пишу методом find_one_and_update (filter = url, при каждоый записи делаю пуш с timestamp) было все ок, но сейчас 2.5+М записей и похоже такой подход не эффективен.. как ускорить работу? индексирование уникального поля? шардинг? или так вообще базу писать не комильфо?
Alexander
self.collection.find_one_and_update( filter={ 'url': item['url'] }, update={ '$set': { # mandatory keys: # ... # # optional keys: # ... }, '$push': { 'array': { # some value, 'ts': datetime.datetime.utcnow(), } } }, upsert=True )
Alexander
ну казалось так проще
Anonymous
У вас один документ в коллекции в который вы пушите?
Alexander
У вас один документ в коллекции в который вы пушите?
не понял вопроса, коллекция одна, документов много, пушу по одному
Alexander
в чем выражается не эффективность?
пока просто по ощущениям что скрипты которые наполяют коллекцию стали медленнее отрабатывать. ну и find стал медленнее искать
Alexander
только что сделал db.collection.createIndex({url: 1}) в правильном напрвалении иду?
Dmitriy
только что сделал db.collection.createIndex({url: 1}) в правильном напрвалении иду?
да, я думаю это самое простое пока решение, но я бы еще уникальность добавил на индекс
Dmitriy
так будет правильнее, имхо
Alexander
да, спасибо. поиск заметно ускорился. значит и мой метод записи тоже)
Arsen
привет, подскажите пожалуйста как отфильтровать массив полученный в результате $lookup
Arsen
{ $lookup: { from: 'service', localField: 'instId', foreignField: 'instId', as: 'services' } } вот пример
🤔
А можно как то скопировать коллекцию из одной бд в другую без прохода по ней, а одной командой?
Arsen
это ко мне вопрос ?
🤔
Ко всем
Arsen
ясно, да вроде что то было
🤔
Я нашёл только с одного сервера на другой, попробовал натравить на самого себя - не сработало
Arsen
дпопустим можно что то сделать и результат запихать в отдельную колекцию
Arsen
nodejs?
Arsen
Arsen Sultanov, [23.04.20 12:57] привет, подскажите пожалуйста как отфильтровать массив полученный в результате $lookup Arsen Sultanov, [23.04.20 12:58] { $lookup: { from: 'service', localField: 'instId', foreignField: 'instId', as: 'services' } } вот пример
yopp
1.5к человек, а даже команды репорт нет... Не говоря об антиспамботе
Со спамом может бороться только телеграмм. Я не хочу чтоб как в соседнем чяте людей выпиливали за сообщение со ссылкой
yopp
только что сделал db.collection.createIndex({url: 1}) в правильном напрвалении иду?
Да. Если вы делаете запрос по какому-то атрибуту, по нему стоит иметь индекс
🤔
mongodump/mongorestore
не вариант, все должно быть из кода через pymongo
Arsen
а сделать запрос получить всю коллекцию а потом создать новую не вариант ?
yopp
{ $lookup: { from: 'service', localField: 'instId', foreignField: 'instId', as: 'services' } } вот пример
Вы можете сразу использовать AF pipeline в $lookup для фильтра https://docs.mongodb.com/manual/reference/operator/aggregation/lookup/#lookup-join-pipeline
Arsen
так ты же не кодом пробегаешь
Arsen
или я что то не доганяю
🤔
А какую задачу вы решаете?
миграции с бэкапом коллекции в отдельную бд
Dmitriy
миграции с бэкапом коллекции в отдельную бд
как вариант почитайте код как работает mongoimport/mongorestore и сделайте так же на питоне: https://github.com/mongodb/mongo-tools/blob/master/mongoimport/mongoimport.go
yopp
но мне надо что бы он объединил две коллекции по instId
У вас есть два варианта, 1) указать в pipeline в $match все условия, чтоб в результат подзапрос попадали только нужны вам документы https://docs.mongodb.com/manual/reference/operator/aggregation/lookup/#specify-multiple-join-conditions-with-lookup 2) использовать $filter после $lookup https://docs.mongodb.com/manual/reference/operator/aggregation/filter/
yopp
миграции с бэкапом коллекции в отдельную бд
Миграции с бэкапом это дорого и сложно
yopp
Для резервного копирования необходимо использовать встроенные инструменты. Самостоятельно вы эту проблему за разумное время не решите
Anonymous
Привет Я как-то спрашивал про условие, как написать вставку или апдейт элемента, если он удовлетворяет условию, но вот с условием проблема)) Помогите, пожалуйста. Есть такая схема: { my_aggregation: [ { date: date, type: abc, …. }, {}, {} …. ], ] } Мне нужно написать условие, что в поле my_aggregation есть ли элемент с датоой Х и типом У if: { some_expr } , then: my_logic Не могу осилить это условие)
🤔
https://t.me/MongoDBRussian/47385
ну да видимо придется перейти на append_only миграции с ренеймом коллекции
🤔
А зачем переименовывать?
вариация бэкапа, проходить по бэкаповой коллекции и вставлять в чистую данные в нужном формате
yopp
В случае с append only мишрациями это не требуется
yopp
Вы используете стандартные средства для резервного копирования, а откат миграции это логическая операция
🤔
В случае с append only мишрациями это не требуется
но и варианта быстро и недорого сделать бэкап, если что то пойдет не так во время миграции тоже нет
yopp
И не нужен
yopp
yopp
лишние инструменты не тянутся в проект
Если очень хочется, то надёжнее использовать Atlas и их резервное копирование. Дорого, но не требует отдельных инструментов.
yopp
Необходимо использовать let, посмотрите как в примере в этой секции показано https://docs.mongodb.com/manual/reference/operator/aggregation/lookup/#specify-multiple-join-conditions-with-lookup
Arsen
@dd_bb в условие обернуть типа как $eq? так получается?
yopp
что такое аф ?)
https://docs.mongodb.com/manual/aggregation
Anonymous
https://docs.mongodb.com/manual/aggregation
да, через аггрегейт
Anonymous
если есть другой вариант - я бы тоже его рассмотрел