@MongoDBRussian

Страница 135 из 342
name
20.10.2017
14:34:59
я подключил бд и попробовал сохранить объект бд в переменной, чтоб потом обращаться к бд за пределами .connect()

но у меня не получилось

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

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

Google
Nick
20.10.2017
14:48:17
надо смотреть на драйвер - он либо может в асинхрон либо нет и действовать согласно докам

keystr0ke
22.10.2017
20:38:13
Привет, ребята, кто работает с mongo из go (mgo)? Как организовать пулл подключений? Создавать новую сессию при каждом запросе очень долго и очень нагружает БД, а использовать одну - медленно. Пробовал сделать простенький пулл самостоятельно, но увидел, что там уже есть что-то с этом ( типа maxPoolSize), насколько я понимаю, где-то там он реализован под капотом, но как его нормально использовать? Ткните пожалуйста носом в документацию, уже все посмотрел.

Yaroslav
23.10.2017
07:45:16
Привет, а почему монго всегда возвращает массив с одним элементом а не сразу этот элемент?

Aleksandr
23.10.2017
07:45:34
а запрос какой?

findOne тебе вернет этот элемент

Yaroslav
23.10.2017
07:46:51
db.getCollection('users').aggregate([{ $unwind: "$clickdaily.locations" }, { $lookup: { from: "locations", localField: "clickdaily.locations._id", foreignField: "SQLid", as: "location" } }, { $group: { _id: "$_id", clickdaily: { "$last": "$clickdaily" }, locationNames: { "$push": {"name": "$location.name", "id": "$location.SQLid"} } } } ])

Sergey
23.10.2017
07:47:40
Aleksandr
23.10.2017
08:38:10
а как можно в хинт добавить на использование несколько индексов?

в запросе есть $or, для которого требуются разные индексы

keystr0ke
23.10.2017
11:01:59
Привет, ребята есть ли возможность проводить поиск по ObjectId с поиском подстроки?

Sergey
23.10.2017
11:25:47
По ObjectId Или по _id?

keystr0ke
23.10.2017
11:30:13
По_id который ObjectId

GNU/Docker
23.10.2017
11:31:13
Ээ

Google
GNU/Docker
23.10.2017
11:31:16
Зачем?

keystr0ke
23.10.2017
11:31:42
Планирую заводить отдельное поле, но вдруг можно как-то работать с ObjectId как со строкой и искать там подстроки

Ну нужно

Есть id и по ним нужен поиск

В смысле поиск подстрок в_id

Nick
23.10.2017
11:35:56
а можно пример вашего _id и пример запроса?

https://docs.mongodb.com/manual/reference/operator/query/regex/#index-use

и опять же просто сделайте explain

Sergey
23.10.2017
11:40:05
objectid - это не строка

http://bit.ly/xy_problem_ru

Nick
23.10.2017
11:41:43
чтото сдается мне что после фраз "Есть id и по ним нужен поиск" подразумевается как раз использование строки вместо oid

Sergey
23.10.2017
11:41:46
рекомендую к прочтению =)

keystr0ke
23.10.2017
12:14:40
Есть ObjectId и нужен поиск подстроки в нем, он не строка, а именно bson.ObjectId

Сделал отдельное строчные поле

keystr0ke
23.10.2017
12:18:14
Вопрос же ясно сформулирован :)

Sergey
23.10.2017
12:18:53
Вы решаете проблему Y, а надо - проблему X.

keystr0ke
23.10.2017
12:21:29
Проблемы Х нет. Пользователь ищет записи по их id и вводит, например, первые 8 символов, вместо полного id

Sergey
23.10.2017
12:29:36
Довольно странное решение давать пользователю objectid для каких-то операций с ним.

Nick
23.10.2017
12:30:48
Проблемы Х нет. Пользователь ищет записи по их id и вводит, например, первые 8 символов, вместо полного id
первые 8 символов oid - unixtime в хекс виде, может у вам просто нужно иметь поле с датой?

Google
Nick
23.10.2017
12:34:17
я не телепат, поэтому все таки еще раз задам вопрос - как выглядит ваш id, если он уникален, то что мешает использоват ьег ов качестве _id, и третье - покажите пример запроса которым вы сейчас выбираете данные по доп полю с id

Vasyl
23.10.2017
13:22:47
делай отдельное поле с человекопонятным айди и не издевайся над людьми

yopp
23.10.2017
13:28:38
Проблемы Х нет. Пользователь ищет записи по их id и вводит, например, первые 8 символов, вместо полного id
проблема в том, что в objectid нет символов. грубо говоря это 96 битное число

шестнадцатиричное представление просто для удобства

искать можно, но это будет поиск по диапазону, условно если ищем по первым 8 символам шестранцатиричного преставления, то _id: { $gte: ObjectId('4ecc05e50000000000000000'), $lte: ObjectId('4ecc05e5ffffffffffffffff')}.

Sergey
23.10.2017
13:42:00
В принципе, это даже автоматизировать можно ибо длина фиксирована, но кажется, что при проектировании где-то свернули не туда.

yopp
23.10.2017
13:52:51
ну почему, в хелпдеске искать по айдишникам

Sergey
23.10.2017
13:59:15
И так действительно делают, ощутил в прошлом на собственной шкуре, но всё равно считаю, что это проектировалось не для людей, раз приходится так делать. В идеале (в случае с хелпдеском), по звонку нужного сотрудника должны автоматом подтягиваться все его задачи, чтобы по ним было легко найти нужную.

yopp
23.10.2017
14:05:01
ну мало ли что там у человека

Старый
23.10.2017
14:07:31
Всем привет, такой вопрос, на сколько сильно отличается mongo от cassandra в плане кластеризации без репликации

yopp
23.10.2017
14:07:45
две разные вещи совершенно

если ты про шардинг

Старый
23.10.2017
14:08:54
то есть, если например 10 нод монги по 500 гб, и где то данные полетели, вся конструкция жива, и данне недоступны только с той ноды, или так же как на кассандре, всё умерло?

yopp
23.10.2017
14:09:09
недоступны только те ноды, которые полетели

при условии доступности конфиг-серверов

Старый
23.10.2017
14:10:13
получается, что если выходят из строя конфиг сервера, или 1 из них, то всё? то есть они узкое место

yopp
23.10.2017
14:10:38
нужно чтоб роутер видел хоть один конфиг сервер

Старый
23.10.2017
14:11:05
я сейчас проверяю просто по проекту ттх, а тк работал больше с касаандра, сцилла, то вот думаю, что они там делают интересное

yopp
23.10.2017
14:11:56
не понимая проблемы которую надо решить, сложно дать какие-то рекомендации

вообще без репликации везде всё будет плохо

Google
yopp
23.10.2017
14:13:22
потому что нет избыточности и любой отказ, вероятнее всего, приведёт к общему отказу

Старый
23.10.2017
14:13:32
не понимая проблемы которую надо решить, сложно дать какие-то рекомендации
вот например у сциллы, кассандры, аэроспайка в комьюнити версии нет понятия бэкапа, а если консистетность нод порушена, то ноды перестают у кассандры отзываться

то есть у ноды что-то случилось при записи, встаёт весь кластер

и пишет, что на такой то ноде, такая то ошибка

yopp
23.10.2017
14:14:17
вопрос не очень понятен

что сделать-то надо?

Старый
23.10.2017
14:15:14
у меня есть подозрение, что люди из другого суббодрядчика фигачат монгу в аналоге rack1 у кассандры

yopp
23.10.2017
14:15:48
вы можете меня нанять, я вам аудит сделаю

Старый
23.10.2017
14:15:54
у меня опыт работы с монгой был как замены редиса с чуть большим функционалом

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

настродамус

я хотел узнать, схожи ли проблемы у mongo и cassandra, если они без реплик

yopp
23.10.2017
14:17:51
я возьму ваш кластер, изучу со всех сторон и напишу отчёт, в котором понятным языком расскажу что где не так и как это исправить. если нужно ещё аудит на соотвествие каким-то внешним требованям провести, то тоже пожалуйста.

я хотел узнать, схожи ли проблемы у mongo и cassandra, если они без реплик
суть примерно одна, но детали очень сильно отличаются

Старый
23.10.2017
14:20:11
я возьму ваш кластер, изучу со всех сторон и напишу отчёт, в котором понятным языком расскажу что где не так и как это исправить. если нужно ещё аудит на соотвествие каким-то внешним требованям провести, то тоже пожалуйста.
да его нет ещё, тут ттх пишут, есть предположения которые я хочу подтвердить/опровергнуть, ранее могу юзал под другие задачи, поэтому в этих тонкостях не разбираюсь, а док надо бы сегодня отправить, потому думал распросить про те проблемы, что мне известны в кассандра/сцилла/ас, и сранить

yopp
23.10.2017
14:20:14
отказоустойчивость это очень сложно, тут надо смотреть на специфику

Max
23.10.2017
14:20:46
@dd_bb я вот, к слову, хочу лишний раз поблагодарить тебя за давние веские комментарии по делу.

когда-то сильно помог мозг в правльное место поставить. спасибо!

Старый
23.10.2017
14:21:46
отказоустойчивость это очень сложно, тут надо смотреть на специфику
да вот тут и проблема, доки у всех большие, я 1,5 месяца помню на датастаксе сидел, а потом оказалось, что меня интересовала смена коллектора только, да 8 парметров конфига, не считая расчёта коллектора

Google
yopp
23.10.2017
14:21:59
если нужно проанализировать риски по отказам, это совершенно другая

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

Старый
23.10.2017
14:26:21
надо исходить из конечной проблемы. если задача проверить не лажает ли подрядчик, то это одна история
что стоит почитать, чтобы понять о garbage collection, на какой сменять, какие параметры лучше, как выставить heap и тп

yopp
23.10.2017
14:26:31
эээ

монга это не jvm :)

Старый
23.10.2017
14:27:19
вижу уже, спутал

yopp
23.10.2017
14:27:24
там ручек, которые можно крутить не так много.

Старый
23.10.2017
14:27:59
я вообще пока ток 1 файл нашёл

yopp
23.10.2017
14:28:05
файл чего?

Старый
23.10.2017
14:28:10
прошлый раз вообще в дефолте юзал

Max
23.10.2017
14:28:12
конфигов )

yopp
23.10.2017
14:28:16
а. так он один и есть

Старый
23.10.2017
14:28:33
?прям шок и не привычно

yopp
23.10.2017
14:29:33
https://docs.mongodb.com/manual/reference/configuration-options/

вобщем-то это всё что можно покрутить

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