@MongoDBRussian

Страница 244 из 342
Max
14.05.2018
12:40:20
Может быть но звучит странно, как ни крути

Roman
14.05.2018
14:25:53
https://www.percona.com/live/e17/sites/default/files/slides/Running%20MongoDB%20in%20Production%20-%20FileId%20-%20115299.pdf

вдруг кто не видел

Google
Алексей
14.05.2018
15:05:38
@pragus рома если ты знаешь лично делавшенго презу передай ему что он не очень.





глаза очень вытекают

но в остальном хорошо кратенько и по делу. очень спасибо

под рекомендацию ext4 data=ordered vs xfs хочется букв и графиков

Roman
14.05.2018
15:11:47
yopp
14.05.2018
15:19:35
Очень хорошие слайды. Но вот мониторинг с observability перепутали, про то что в метриках надо искать при troubleshooting тоже не сказали

Stable: 3.6.4 (Apr 13, 2018), Bugfix: 3.4.14 (Mar 20, 2018) MongoDB quick overview/production notes: https://www.percona.com/live/e17/sites/default/files/slides/Running%20MongoDB%20in%20Production%20-%20FileId%20-%20115299.pdf 3.6.4: https://docs.mongodb.com/manual/release-notes/3.6/#apr-13-2018 3.4.14: https://docs.mongodb.com/manual/release-notes/3.4/#march-20-2018 (3.4.15 upcoming) 3.2.19: https://docs.mongodb.com/manual/release-notes/3.2/#feb-6-2018 (3.2.20 upcoming, End of life: September 2018) 3.0.x: Support ended February 2018

под рекомендацию ext4 data=ordered vs xfs хочется букв и графиков
Там много где хочется минимальных графиков :(

Алексей
14.05.2018
15:23:24
я конечно верю парням из перконы. но экспертные мнения эт не оч

Artem
14.05.2018
15:35:06
Мне у перуоны мониторинг нравится

Alexandr
14.05.2018
16:35:10
ребята, помогите, пожалуйста, понять, как на php сделать выборку из монги. Сижу битый час ничё не понятно. Мне нужно выбрать все доки из коллекции, сгруппировав их по полю field1 выбрав так, чтобы field2 был наибольшим. Вообще group не работает ч-то. Делаю на yii2.

Google
Nick
14.05.2018
16:37:53
вам select f1,max(f2) group by f1?

Alexandr
14.05.2018
16:38:07
ну типа да

select all

Nick
14.05.2018
16:38:48
agregation framework, group max

и советую использовать монгошел или каконйить робомонго чтобы играться с запросами к монге, а потом уже переносить их в свой язык. так будет понимание почему так и что искат ьв своем драйвере

Alexandr
14.05.2018
16:40:27
спасибо ща какраз попробую в шелле

db.collection.aggregate или db.collection.group ?

Nick
14.05.2018
16:54:50
неужели доку прочитать нельзя? Deprecated since version 3.4: Mongodb 3.4 deprecates the db.collection.group() method. Use db.collection.aggregate() with the $group stage or db.collection.mapReduce() instead.

Alexandr
14.05.2018
16:55:15
есть и другая проблема. group() can't handle more than 20000 unique keys

Nick
14.05.2018
16:55:45
гже это написано?

Alexandr
14.05.2018
16:55:56
в получаемом эрроре

ну, надо юзать db.collection.aggregate() with the $group stage

Nick
14.05.2018
16:56:52
т.е. вас не смутило явное указание об ограничении на 20к ключей в описании поведения метода group?

Alexandr
14.05.2018
16:57:16
в каком смысле?

смутило )

Nick
14.05.2018
16:57:31
https://docs.mongodb.com/manual/reference/method/db.collection.group/#behavior

Alexandr
14.05.2018
16:58:13
я ошибку получил до того, как открыл )

Nick
14.05.2018
16:59:58
предвосхищаю проблему с огранчиение в 100Мб на группировке https://docs.mongodb.com/manual/reference/operator/aggregation/group/#group-operator-and-memory

Alexandr
14.05.2018
17:01:41
и такое может быть..

не пойму, а как max всунуть в group ?

Google
Nick
14.05.2018
17:04:52
$group : { _id : "$your_id_field", maxValue: { $max: "$some_field" } }

Alexandr
14.05.2018
17:07:11
проблемы с объёмом вроде нет )

подскажите пожалуйста ещё если можно, как сделать, чтобы в результате этого запроае присутствовали и все остальные поля?

только перечислять?

Nick
14.05.2018
19:09:14
вам нужен груп бай по нескольким полям?

Alexandr
14.05.2018
19:10:08
нет

но вывести то я хочу все поля, а этот запрос выведет только два поля

Nick
14.05.2018
19:10:44
вы в sql обычный умеете?

Alexandr
14.05.2018
19:10:52
немного.

Nick
14.05.2018
19:11:09
попробуйте там получить то что требуется

и киньте запрос результат которого вас устраивает, может получится на монге получить

Alexandr
14.05.2018
19:12:09
блин ну ставить его.. там group by не убивает столбцы а выводит все

Nick
14.05.2018
19:12:27
нет

Alexandr
14.05.2018
19:12:52
меня устраивает тот который вы написали, за исключением того что нет столбцов, нужных мне

Nick
14.05.2018
19:12:53
вы указываете все поля по которым группируете и только их можете выдать

Alexandr
14.05.2018
19:13:03
блин. а как же выдать остальные

Nick
14.05.2018
19:13:13
ну плюс сами поля агрегаций

либо по ним группировать, либо переосмыслить то что вы хотите дслетаь

опишите что делаете

Google
Alexandr
14.05.2018
19:16:53
попробуйте там получить то что требуется
как я понимаю, такой пример релевантен: select field1, max(field2), field3, field4 from test group by field1;

мм.. нет.

Nick
14.05.2018
19:17:46
просто опишите что логически делается

Alexandr
14.05.2018
19:19:57
логически - есть таблица с товарами, туда результирующие операции по ним записываются способом добавления (не спрашивайте:) ). То есть актуальная информация по текущему товару находится в той строке, id которой соответствует данному товару и timestamp максимален.

хочу получить актуальную таблицу товаров (уникальные id + макс по таймстемпу

я исправил пример, вот так: select product_id, max(timestamp), field3, field4 from test group by product_id;

вроде это оно

Nick
14.05.2018
19:23:14
а остальные поля у каждого объекта одинаковы?

Alexandr
14.05.2018
19:23:23
да

Nick
14.05.2018
19:25:54
полей много?

Alexandr
14.05.2018
19:26:04
десяток

Nick
14.05.2018
19:26:10
точнее не так, вы знаете все поля или они могут то быть то не быть?

короч набор полей постоянен или нет

Alexandr
14.05.2018
19:27:12
я знаю их все и отсутствующих полей или пустых полей там нет. набор постоянен

Nick
14.05.2018
19:27:50
тогда проще будет тот же агрегатор и first https://docs.mongodb.com/manual/reference/operator/aggregation/first/

по аналогии для каждого поля перечислите field_name: { $first: "$field_name" }

хотя нет

похоже я кой че упустил)

сортировку надо ж по все полям

Alexandr
14.05.2018
19:32:31
визуально работает... в чём подводный камень?

Google
Nick
14.05.2018
19:33:41
отработало?

чет подумал надо сортировку включить по всем полям которые нужны

Alexandr
14.05.2018
19:42:53
отработало?
пытаюсь понять. сейчас оттсестирую

блин вроде фунцихлирует

нормально выдаёт и все указанные мной поля и группирует по id с максимальным таймстемпом

спасибо большущее :)

Lid
14.05.2018
21:39:50
Привет, подскажите плиз, что хочет от меня база )) - ставлю базу на виртуальную машину - выскакивает ошибка 100, все пути прописаны верны, все создано, если вдруг что то на виртуалке стоит 32 разрядная видна 10, ставил на рабочий комп все норм, не было ошибки 100(

Artem
14.05.2018
21:54:27
ну 32 разрядная винда не лучший выбор

Lid
14.05.2018
22:14:38
ок, попробуем переустановить

если что на 64 разрядной без ошибки все идет

Konstantinx
15.05.2018
09:49:59
Привет ребят. Подскажите, можно ли в монге атомарно обновить несколько документов в одной коллекции?

Pavel ?
15.05.2018
09:51:30
Но один точно можно)

Maksim
15.05.2018
09:52:19
С транзакциями у носкл большие проблемы)
В 4.0 же обещают ACID транзакции =)

Pavel ?
15.05.2018
09:53:19
В 4.0 же обещают ACID транзакции =)
Тож в 4ре) и не понятно ещё как оно повлияет на работу бд, но да, было бы круто)

Konstantinx
15.05.2018
09:53:42
С транзакциями у носкл большие проблемы)
уже вижу. Может подскажите как это можно обойти? А если хранить в одном документе всё, это нормальное решение? Модно ли 16 мб обойти?

Nick
15.05.2018
09:56:14
если вам надо транзакции, то выбора не много - имитируете двухфазный коммит на доках - ждете 4 версию - перестраиваете логику приложения, чтобы вам не нужны били транзакции (идемпотентность там и все дела) - берете нормальную транзакционную бд

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