@MongoDBRussian

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

Stas
08.08.2018
06:38:11
Так utf-8 всегда вроде...
та уже в доке нашёл, строка по умолчанию ютф-8, просто нужно было удостовериться, спасибо

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

Google
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 на уровне роутера?



Павел
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 ] } }

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

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

Pavel
08.08.2018
22:43:54
Написать скрипт, который прочитает эту строку, распарсит его в json и обновит документ
Не подскажете, на питоне либу, где можно подписаться на изменения в определенной коллекции

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
Не подскажете, на питоне либу, где можно подписаться на изменения в определенной коллекции
я не уверен, как в питоне. Но в джаве с монгодрайвером поставляется bson-mapper, который умеет перегонять json-строку в аналогичный bson

AstraSerg
09.08.2018
08:20:21
я не уверен, как в питоне. Но в джаве с монгодрайвером поставляется bson-mapper, который умеет перегонять json-строку в аналогичный bson
В питоне тоже есть конвертация: http://api.mongodb.com/python/current/api/bson/json_util.html Да только вопрос у @Avral -а не в конвертации, а в парсинге с изменениями. Если измениня не нужны, то инсерить можно просто json.

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

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

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

Yurii
09.08.2018
10:27:44
я через find делаю, фильтер вроде через него не робит, не?
не, надо переходить на aggregation framework, или уже после выборки в коде фильтровать

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

Constantin
09.08.2018
10:37:57
https://docs.mongodb.com/manual/changeStreams/
+ Спасибо, попробую, что-то пропустил

Google
Constantin
09.08.2018
13:10:31
https://docs.mongodb.com/manual/changeStreams/
Это лучше чем транзакции, почему-то пропустил когда чендж логи с 3.4 на 3.6 читал =)

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:59:29
а на мак денег хватило...
Так может тоже спёр ?

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

Игорь
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
Pasha
09.08.2018
18:18:07
я периодически кликаю на non-commercial use и все
Раза 3-4 так и было, а теперь не пускает

Игорь
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
Подскажите такую штуку. Монгус получает в поле Date строки 2018-02-02, которые он превращает в какой-то длинный унифицированный формат. У него нет настройки форматирования даты?
Доброе утро. В базе даты хранятся в специальном формате. Если вам нужно изменить отображение даты, делайте это в приложении. Это не задача БД.

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 сек приходят, мне надо на дашборде показывать актуальное состояние из последнего репорта, я правильно понимаю что в понятиях нереляционых баз мне лучше сделать ещё одну коллекцию где складировать последние репорты?

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

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

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

Google
Vasiliy
10.08.2018
08:07:54
ну в случае с индексовым полем оно в выводе в сорте появлялось, а не индексовое - нет

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

Vasiliy
10.08.2018
08:15:27
есть

вот именно что как только делаю sort с индексовым полем оно на rig_session_id не обращает внимание, если делаю сорт на другое поле то оно как-то так

https://pastebin.com/FDP4AXQu

Страница 284 из 342