
Stas
08.08.2018
05:06:00
Всем привет, ребят, не подскажите как проверить кодировку бд?

AstraSerg
08.08.2018
06:36:45

Stas
08.08.2018
06:38:11

Stanislav
08.08.2018
16:20:59
Пожскажите, у меня на некотором стейдже аргегейшн пайпайна получается множесто объектов вида { sub: [ {param1:.. , param2:..} ] }, где sub -- массив размера 1 или пустой.
Как можно превратить эти объекты в такой вид: { param2: ... } ?

Google

yopp
08.08.2018
16:25:18

Stanislav
08.08.2018
16:29:12
Идею понял, спасибо. Но немного не то. Уточню вопрос.
У меня объекты вида { key1: .., key2: .., sub: [ {param1:.. , param2:..} ] }
Я хочу взять из sub только одно значение и вставить его в исходный документ. чтобы получилось { key1: .., key2: .., param2:.., sub: [ {param1:.. , param2:..} ] }
А лишний саб я потом уберу в $project, напрмер
я думал про такой вариант:
{ $replaceRoot: { newRoot: { $mergeObjects: [
{ $arrayElemAt: [ "$sub", 0 ] },
"$$ROOT"
] } } },
но тогда надо будет разруливать ситуацию, когда в сабе содержатся те же самые ключи
Хочется что-то типа
{ $addFields: {$get: ["param2", { $arrayElemAt: [ "$sub", 0 ] }] }
но в монге нет оператора $get ) а подходящий не могу найти


Павел
08.08.2018
16:32:48
Добрый вечер.
Работаю над полем createdBy схемы. Родительская схема имеет множество сабсхем в которых тоже встречается поле createdBy. В этом поле лежит id пользователя который создал данную сущность. Хочу автоматически записывать значение в это поле на уровне генерирования схемы, а не на уровне роутов и методов create(), uodate() и тд. Для этого я применяю плагин к mongoose схеме который ловит хуки и проставляет значения к нужным полям. Но вот незадача Инициализация схемы идет перед тем как приходит запрос. Поэтому на уровне создания схемы у меня не получается прописать id юзера. Как можно разрешить данную ситуацию? Или в данном случаем мне нужно внеднять поле createdBy на уровне роутера?

yopp
08.08.2018
16:32:55

Павел
08.08.2018
16:34:16

Stanislav
08.08.2018
16:35:49
$sub.0.param2
{ $addFields: {param2: "$sub.1.param2"} } -- если вы про такое, то оно не работает почему-то
поэтому я и начал капать в сторону { $arrayElemAt: [ "$sub", 0 ] }
о, придумал ответ
{ $addFields: {param2, { $arrayElemAt: [ "$sub.param2", 0 ] } }

Павел
08.08.2018
17:33:32

Google

Павел
08.08.2018
17:33:45
(если вдруг кому понадоблится)

Pavel
08.08.2018
22:07:20
Привет, есть сервис который пишет в монгу, json строкой. Нужно со стороны как нибудь пропарсить этот json и сохранить как ключ-значение, и делать это для последующих записей. Как можно реализовать?

yopp
08.08.2018
22:25:53

Pavel
08.08.2018
22:43:54

yopp
08.08.2018
22:44:36
официальный драйвер должен уметь
и нужно иметь монгу 3.6+
но надежнее исправить это в том месте, откуда данные в монгу попадают

Pavel
08.08.2018
22:46:29
эт да, но тут так получается, что проще самому это со стророны делать, спасибо

Constantin
09.08.2018
06:22:02
Подписаться можно только на capped collections
Как вариант раз в какое-то время по крону запрашивать поле, если оно не нул, парсить, поле со строкой помечать как null после парсинга

Stanislav
09.08.2018
08:16:55

AstraSerg
09.08.2018
08:20:21

Vasiliy
09.08.2018
09:06:49
подскажите, а как в projection после find сделать чтобы из подмасива отображались только отфильтрованные данные, т.е как elemMatch только не первый элемент, а все подходящие под условие

Constantin
09.08.2018
09:31:56
Подписаться можно только на capped collections
Вот кстати насчет этого, кто-нибудь может слышал, будут они что-то такое делать для обычных коллекций, как в RethinkDB?
Сейчас приходится диспатчер-сервис держать, и все изменения через него пускать, а это дополнительны сокеты/кодовая база/абстракции

Yurii
09.08.2018
09:33:12

Vasiliy
09.08.2018
09:36:44
я через find делаю, фильтер вроде через него не робит, не?

Yurii
09.08.2018
10:27:44

Vasiliy
09.08.2018
10:28:22
С агрегацией чёт не срослось, фильтровать в коде буду

yopp
09.08.2018
10:28:46

Constantin
09.08.2018
10:37:57

Google

Constantin
09.08.2018
13:10:31

yopp
09.08.2018
13:27:06
ну вообще, всё тоже самое можно было сделать через оплог
ещё до change stream
но надо было руками некотрые вещи делать

Andrii
09.08.2018
17:03:46
Ребята есть тут те, кто-то отпет на MacBook Pro 2017 ? Хочу узнать некоторые тонкости этой модели

Pasha
09.08.2018
17:40:39
Здравствуйте, кто может подсказать как снести на маке файлы studio 3t с инфой о триале, чтобы начисто поставить и дальше бесплатно пользоваться?
Пробовал чистить все сопутствующие файлы через клинмаймак – все равно помнит меня после переустановки

Игорь
09.08.2018
17:58:55

Владимир Воландемарыч
09.08.2018
17:59:29

Игорь
09.08.2018
18:01:37
не думаю, что можно так вот спереть это, иначе бы писал хак вместо мак)
а вообще цена вопроса 600 бачей

Владимир Воландемарыч
09.08.2018
18:01:56

Игорь
09.08.2018
18:02:13
мы не мелочимся)

Владимир Воландемарыч
09.08.2018
18:02:32
Ну так то да, если тырить то версию за 500 баксов ?

Игорь
09.08.2018
18:02:32
забавный дядька в общем ?

Gleb
09.08.2018
18:07:53

Игорь
09.08.2018
18:08:58

Владимир Воландемарыч
09.08.2018
18:09:27

Gleb
09.08.2018
18:10:14

Игорь
09.08.2018
18:11:30
ну и инструмент может купят, раз надо

Pasha
09.08.2018
18:14:36
Та бля, кулю уже если не получится

Google

Slava
09.08.2018
18:15:55
я периодически кликаю на non-commercial use и все

Pasha
09.08.2018
18:18:07

Игорь
09.08.2018
18:28:12

Владимир Воландемарыч
09.08.2018
19:55:24

m
10.08.2018
03:31:31
Подскажите такую штуку. Монгус получает в поле Date строки 2018-02-02, которые он превращает в какой-то длинный унифицированный формат. У него нет настройки форматирования даты?

AstraSerg
10.08.2018
05:47:44


Constantin
10.08.2018
07:00:34
Подскажите такую штуку. Монгус получает в поле Date строки 2018-02-02, которые он превращает в какой-то длинный унифицированный формат. У него нет настройки форматирования даты?
Нет, но вы можете прогонять их через moment перед тем как отдать в mongoose. У moment есть метод .from, чтобы можно было парсить даты в любых форматах, если проблема в том, как он парсит дату.
Если дату парсит правильно, но вам не нравится как она получается на выходе, то тут вы ничего не сделаете, так как дата и должна храниться в специальном формате, а не строкой. Это нужно для того, чтобы можно было делать вычисления с датами, менять часовые пояса и т. п.

Vasiliy
10.08.2018
07:55:40
ребят, я же правильно понимаю что $convert я только в агрегации могу юзать, а с find такое не прокатит?

Yurii
10.08.2018
07:59:28

Vasiliy
10.08.2018
08:00:07
Это то понятно) думал может аналог какой-то есть для файнда
Так, ещё такой совет, больше с точки зрения архитектуры и того как в носкл базах

Yurii
10.08.2018
08:01:11

Vasiliy
10.08.2018
08:02:33
У меня есть репорты которые раз в 10 сек приходят, мне надо на дашборде показывать актуальное состояние из последнего репорта, я правильно понимаю что в понятиях нереляционых баз мне лучше сделать ещё одну коллекцию где складировать последние репорты?

AstraSerg
10.08.2018
08:03:44

Vasiliy
10.08.2018
08:04:28
Вот про индексы я тут пару дней назад спрашивал и из за них агрегация по скорости проседает

Yurii
10.08.2018
08:04:33

Vasiliy
10.08.2018
08:06:04
То есть с сортом по не индексу все ок, по индексу начинает тормозить, будто матч фильтрацию не делает

Yurii
10.08.2018
08:06:45

Vasiliy
10.08.2018
08:07:13
да, но там особо полезного не было ничего(для меня)

Google

Vasiliy
10.08.2018
08:07:54
ну в случае с индексовым полем оно в выводе в сорте появлялось, а не индексовое - нет
https://pastebin.com/a9WyfPJZ как-то так, я так понимаю что сортировка по индексу идёт от минимального ключа к максу, как пофиксить это?

Yurii
10.08.2018
08:15:17

Vasiliy
10.08.2018
08:15:27
есть
вот именно что как только делаю sort с индексовым полем оно на rig_session_id не обращает внимание, если делаю сорт на другое поле то оно как-то так
https://pastebin.com/FDP4AXQu