@MongoDBRussian

Страница 243 из 342
Slava
12.05.2018
16:12:37
у кассандры дорогое чтение, очень

Pavel ?
12.05.2018
16:13:29
какой вердикт?

yopp
12.05.2018
16:14:07
берите то, с чем опыта больше

Google
Pavel ?
12.05.2018
16:14:36
с монгой больше

Slava
12.05.2018
16:15:08
тогда вы сами ответили на вопрос)

yopp
12.05.2018
16:15:22
значит берите её. судя по всему, у вас ещё нет пользовательской базы, так что вам лучше потратить ресурсы на то, чтоб быстрее доставить mvp

и собрать фидбек

Pavel ?
12.05.2018
16:15:55
тогда вы сами ответили на вопрос)
хотел мнения спросить) одна голова хорошо, 748 лучше))

спасибо)

Egoarka
12.05.2018
21:10:52
не работает compound index в subdocument-массиве { bar: String, foo: [{ a: String, b: String }] } schema.index({ 'foo.a': 1, 'foo.b': 1 }, { unique: true }} когда добавляю документ с помощью push/addToSet дубликаты все-равно добавляются кто знает как решить?

Egoarka
12.05.2018
22:14:55
@dd_bb Mongoose: paper.findAndModify( { _id: ObjectId("5af761303e34a19ad48be03e"), user: ObjectId("5af72a522f2dbc92d7d23c52") }, [], { $setOnInsert: { __v: 0 }, $push: { rating: { _id: ObjectId("5af766739f45ec9b136aecd9"), user: ObjectId("5af72a522f2dbc92d7d23c52"), reaction: "test" } } }, { runValidators: true, new: true, upsert: true, remove: false, fields: {} } ); если правильно понял, то вот

кстати, нашел такой солюшен, он нормальный? https://github.com/Automattic/mongoose/issues/2226#issuecomment-226634928

Egoarka
12.05.2018
22:21:30
ну да, я и скинул отчет выше какой есть

yopp
12.05.2018
22:24:06
ну да, я и скинул отчет выше какой есть
Это информация о самом запросе, а требуется информация о метриках в процессе выполнении запроса.

Google
Egoarka
12.05.2018
22:44:32
http://thecodebarbarian.com/whats-new-in-mongoose-4.10-unique-in-arrays.html еще солюшен жалко только, что на апдейт не пашет

Vadim
12.05.2018
22:59:21
Есть какой нить учебник по монго для новичков желательно на русском?

Egoarka
12.05.2018
23:00:11
советую сразу взять проект и параллельно решать проблемы, которые возникают

Egoarka
12.05.2018
23:05:25
ну я и таких чуваков видел, нормально все, фигачили покруче сеньеров

arrayFilters пашет у кого?

у меня для массивов двойной вложенности не пашет

профиксил с помощью явного указания ObjectId

Amir
13.05.2018
06:52:53
хм. а если у меня результат выборки вот такой [{'out': [{'script': {'name': ['v1']}}, {'script': {'name': ['v2']}}]}] а мне нужен только массив вида ['v1', 'v2'] - как это реализовать без боли?

собственно сама выборка: find({}, {'_id': 0, 'raw.out.script.name':1})

Max
13.05.2018
10:40:03
вот собственно результат профайлинга пхп драйвера, самое долгое время выполения [2018-05-11T11:26:29.488486+00:00] mongoc: TRACE > ENTRY: mongoc_server_description_handle_ismaster():493 [2018-05-11T11:26:29.488507+00:00] mongoc: TRACE > EXIT: mongoc_server_description_handle_ismaster():654 [2018-05-11T11:26:29.488519+00:00] mongoc: TRACE > TRACE: mongoc_topology_description_handle_ismaster():1950 Transitioning to RSWithPrimary for RSSecondary [2018-05-11T11:26:29.488531+00:00] stream: TRACE > ENTRY: _mongoc_stream_socket_poll():223 [2018-05-11T11:26:29.488535+00:00] socket: TRACE > ENTRY: mongoc_socket_poll():283 [2018-05-11T11:26:39.487224+00:00] stream: TRACE > EXIT: _mongoc_stream_socket_poll():249 [2018-05-11T11:26:39.487256+00:00] stream: TRACE > ENTRY: _mongoc_stream_socket_poll():223 [2018-05-11T11:26:39.487261+00:00] socket: TRACE > ENTRY: mongoc_socket_poll():283 [2018-05-11T11:26:39.487265+00:00] stream: TRACE > EXIT: _mongoc_stream_socket_poll():249 [2018-05-11T11:26:39.487272+00:00] stream: TRACE > ENTRY: mongoc_stream_failed():80 [2018-05-11T11:26:39.487296+00:00] stream: TRACE > ENTRY: mongoc_stream_destroy():104 [2018-05-11T11:26:39.487301+00:00] stream: TRACE > ENTRY: _mongoc_stream_socket_destroy():71 [2018-05-11T11:26:39.487306+00:00] socket: TRACE > ENTRY: mongoc_socket_close():770 [2018-05-11T11:26:39.487324+00:00] socket: TRACE > EXIT: mongoc_socket_close():805 [2018-05-11T11:26:39.487338+00:00] stream: TRACE > EXIT: _mongoc_stream_socket_destroy():82 [2018-05-11T11:26:39.487341+00:00] stream: TRACE > EXIT: mongoc_stream_destroy():112 [2018-05-11T11:26:39.487354+00:00] stream: TRACE > EXIT: mongoc_stream_failed():90 [2018-05-11T11:26:39.487360+00:00] mongoc: TRACE > ENTRY: mongoc_server_description_handle_ismaster():493 [2018-05-11T11:26:39.487364+00:00] mongoc: TRACE > EXIT: mongoc_server_description_handle_ismaster():500 [2018-05-11T11:26:39.487369+00:00] mongoc: TRACE > TRACE: mongoc_topology_description_handle_ismaster():1950 Transitioning to RSWithPrimary for Unknown задержки по времени только под нагрузкой на запись

Nick
13.05.2018
12:25:57
вот собственно результат профайлинга пхп драйвера, самое долгое время выполения [2018-05-11T11:26:29.488486+00:00] mongoc: TRACE > ENTRY: mongoc_server_description_handle_ismaster():493 [2018-05-11T11:26:29.488507+00:00] mongoc: TRACE > EXIT: mongoc_server_description_handle_ismaster():654 [2018-05-11T11:26:29.488519+00:00] mongoc: TRACE > TRACE: mongoc_topology_description_handle_ismaster():1950 Transitioning to RSWithPrimary for RSSecondary [2018-05-11T11:26:29.488531+00:00] stream: TRACE > ENTRY: _mongoc_stream_socket_poll():223 [2018-05-11T11:26:29.488535+00:00] socket: TRACE > ENTRY: mongoc_socket_poll():283 [2018-05-11T11:26:39.487224+00:00] stream: TRACE > EXIT: _mongoc_stream_socket_poll():249 [2018-05-11T11:26:39.487256+00:00] stream: TRACE > ENTRY: _mongoc_stream_socket_poll():223 [2018-05-11T11:26:39.487261+00:00] socket: TRACE > ENTRY: mongoc_socket_poll():283 [2018-05-11T11:26:39.487265+00:00] stream: TRACE > EXIT: _mongoc_stream_socket_poll():249 [2018-05-11T11:26:39.487272+00:00] stream: TRACE > ENTRY: mongoc_stream_failed():80 [2018-05-11T11:26:39.487296+00:00] stream: TRACE > ENTRY: mongoc_stream_destroy():104 [2018-05-11T11:26:39.487301+00:00] stream: TRACE > ENTRY: _mongoc_stream_socket_destroy():71 [2018-05-11T11:26:39.487306+00:00] socket: TRACE > ENTRY: mongoc_socket_close():770 [2018-05-11T11:26:39.487324+00:00] socket: TRACE > EXIT: mongoc_socket_close():805 [2018-05-11T11:26:39.487338+00:00] stream: TRACE > EXIT: _mongoc_stream_socket_destroy():82 [2018-05-11T11:26:39.487341+00:00] stream: TRACE > EXIT: mongoc_stream_destroy():112 [2018-05-11T11:26:39.487354+00:00] stream: TRACE > EXIT: mongoc_stream_failed():90 [2018-05-11T11:26:39.487360+00:00] mongoc: TRACE > ENTRY: mongoc_server_description_handle_ismaster():493 [2018-05-11T11:26:39.487364+00:00] mongoc: TRACE > EXIT: mongoc_server_description_handle_ismaster():500 [2018-05-11T11:26:39.487369+00:00] mongoc: TRACE > TRACE: mongoc_topology_description_handle_ismaster():1950 Transitioning to RSWithPrimary for Unknown задержки по времени только под нагрузкой на запись
К чему это было?

Amir
13.05.2018
12:28:41
Max
13.05.2018
12:33:34
посмотрите профайлером где тупит пхп

Nick
13.05.2018
13:38:33
сейчас бы форвардить чтобы нельзя было переключиться на исходное сообщее

Max
13.05.2018
13:43:09
https://t.me/MongoDBRussian/24089

Alexandr
13.05.2018
13:56:05
ребята, кто-то пытался монгодб драйвер устанавливать для php? http://us1.php.net/manual/en/mongodb.installation.manual.php

у меня почемуто на этапе ./configure выдаёт ошибку - просит пакет krb5-gssapi, которого в природе не существует. При чём тут керберос - вообдще хз

configure: error: Package requirements (krb5-gssapi) were not met: No package 'krb5-gssapi' found Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables PHP_MONGODB_SASL_CFLAGS and PHP_MONGODB_SASL_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details.

Google
Alexandr
13.05.2018
13:57:25
помогите плз если кто понимает

Liv
13.05.2018
19:41:05
привет, есть тут бдящие? :)

вопрос повышенной сложности: с помощью чего я могу пройти по всем документам в коллекции и собрать среднее арифметическое значений конкретных полей?

Liv
13.05.2018
19:58:33
да, хочу, к примеру, определить среднюю зарплату сотрудников. Мне для этого через aggregate нужно получить сумму зарплат, а потом разделить на кол-во записей? Или там как-то все изящно делается?

Fozilbek
13.05.2018
19:58:46
aggregate $group $avg

Liv
13.05.2018
19:59:47
ок, спс, пошел копаться

Fozilbek
13.05.2018
20:00:31
Нзч.

Liv
13.05.2018
20:18:06
а есть какая-то возможность округления расчитанных значений? что-то типа db.employees.aggregate([ {$group: {_id: 0, avgSalary: Math.round({$avg: "$salary"})}} ]) ?

Nikita
13.05.2018
21:14:30
а можно самому генерировать ID на клиенте для записи в бд ?)

Liv
13.05.2018
21:59:54
не, не подходит. Я хотел округление с указанной точностью, похоже, что такого нет

yopp
13.05.2018
22:01:20
Или кщё лучше, не храните больше никогда деньги во флоатах

Liv
13.05.2018
22:02:52
хм, ну деньги-то в интах хранятся, а вот среднее получается дробным, это да

yopp
13.05.2018
22:02:57
Этого не категорически нельзя делать, у вас могу существенные ошибки в расчётах

хм, ну деньги-то в интах хранятся, а вот среднее получается дробным, это да
Ну тогда получите сумму и количество из агрегации, а делите на клиенте

Liv
13.05.2018
22:03:47
так и сделал, спасибо :)

Google
yopp
13.05.2018
22:07:43
Ну или если у вас есть возможность со стороны драйверов и монга 3.4+, то перейдите на BigDecimal https://docs.mongodb.com/manual/tutorial/model-monetary-data/

Liv
13.05.2018
22:27:31
еще 1 нубский вопрос: с помощью чего я могу найти самую раннюю (по дате) статью в указанной категории например?

yopp
13.05.2018
23:20:58
В запросе фильтр по атрибуту категории и сортировка по дате по возврастанию. Первая запись и будет самой ранней

Max
14.05.2018
09:39:33
для истории ... проблему решили в проблеме участвовали - реплика из 2-х mongod и одного арбитра версии 3.6.4 - приложение на пхп с драйвером mongodb 1.4.3 - нагрузка 1,5 К записей в монгу в минуту Арбитр был закрыт фаерволом от всех кроме mongod. Открыли арбитр для пхп и пхп перестал тупить ... ?

привет. возможно не совсем по теме .. кто то сталкивался с ситуацией на пхп, когда подключение только к мастеру, запись 1,5к/мин документов отдельными запросами проходит нормально. А вот когда в конекшин стринг появляется слэйв - пхп начинает дико тупить драйвер установлен последний, монга 3,6

vitalii
14.05.2018
09:45:43
можно вопрос , почему avg_age в ceil не находит , как я понял , агрегацию можно делать подряд db.getCollection('binaryAcademy').aggregate([{$group : {_id:null,avg_age : {$avg : "$age"}}},{ $ceil: avg_age}]);

Max
14.05.2018
09:48:37
нет, со слейва тоже доступен

Mikhail
14.05.2018
10:11:24
А в чем разница между update и updateOne? По доке они одинаковы как бы

Artem
14.05.2018
10:15:41
Я так понимаю, что если под условие обновления попадает несколько документов, то в случае updateOne() обновится просто первый документ.

Nick
14.05.2018
10:17:35
А в чем разница между update и updateOne? По доке они одинаковы как бы
updateOne() updates the first matching document in the collection that matches the filter, using the update instructions to apply modifications. https://docs.mongodb.com/manual/reference/method/db.collection.updateOne/#behavior

видимо доку невнимательно читаете

Алексей
14.05.2018
11:24:04
Коллеги а почему монга не ставит на базу по умолчанию 0700 а оставляет дефолтные странные для бд 0755 ? в этом есть какая то логика или тупо прожужали ?

Алексей
14.05.2018
11:26:41
конечно ос ставит.

но почему они так оставляют ?

yopp
14.05.2018
11:27:23
Думаю ты хорошо угадал второй вариант :)

Кстати 0700 плохие права. Я бы группе оставил чтение

Чтоб обслуживающее ПО не под монговским пользователем бегало

Алексей
14.05.2018
11:29:54
ну ага.

Google
yopp
14.05.2018
11:31:03
Посмотри в жире, там скорее всего с 1.8 лежит незакрытый ишшуй на эту тему ;) лайкни и бампни его своим юзкейсом

vitalii
14.05.2018
11:40:17
парни вопрос , делаю вот такую команду как теперь найти первое совпадение в масиве friends по имени ? id,index,name,friends[{name:"sfaf"}....] .aggregate([{$match:{index: {$gt: 5}}},{$unwind:"$friends"}])

yopp
14.05.2018
11:42:17
Ещё раз match и limit 1

Но такое вообще проще сразу в match вписать

index: {...}, “friends.name”: “foo”

vitalii
14.05.2018
11:47:11
yopp
14.05.2018
11:47:40
И тогда вы можете без агрегации обойтись и оставить только findOne

Artem
14.05.2018
12:04:48
Коллеги а почему монга не ставит на базу по умолчанию 0700 а оставляет дефолтные странные для бд 0755 ? в этом есть какая то логика или тупо прожужали ?
Мне вообще думается, что выставление прав оставили на откуп пользователю. На уровне systemd шных скриптов. По крайней мере в дистрибе под 7й центось так реализовано

Artem
14.05.2018
12:06:35
Момент, сейчас до компа дойду и посмотрю

я имею в виду в стартовом скрипте сервиса следующее: ExecStartPre=/usr/bin/chmod -R 0755 /var/run/mongodb т.е. можно прям при старте базы задавать необходимые пермишены на каталог с датафайлами базы

Max
14.05.2018
12:30:34
да, а если база большая - сидите и ждите, пока оно все везде проставит. лучше через umask попробовать

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