@MongoDBRussian

Страница 127 из 342
yopp
21.09.2017
15:38:45
Там протокол дубовый

По сути bson туда-сюда гоняется. Там упростят то как bson в сокет складывается.

В драйверах проблемы не с протоколом, а с реализацией всяких вещей, типа мониторинга соединений. Например не все драйвера умеют в discovery досихпор.

Peter
21.09.2017
22:35:19
Есть колекция, в которой хранятся документы с полем в котором base64, и ещё несколько нужных полей. Как можно быстро вытащить документы? По 300 шт тянут. Но сейчас 800ms занимает процесс получение.

Google
Dmitry
22.09.2017
00:50:58
^ @dd_bb

Peter
22.09.2017
07:19:47
300 шт 9-9.6 мб

Nick
22.09.2017
07:42:25
а тебе нужно то поле которое блобовое? или как раз те другие поля только?

Peter
22.09.2017
08:49:17
Все)

Ruslan
22.09.2017
08:51:26
камрады, мне надо регать в БД подключение девайса, я по реляционной привычке сначала проверяю в одной коллекции, что девайс кошерный (т.е. ему разрешено подключение), а потом регаю его в другой коллекции... это нормальный подход или правильно делать по-другому?

Nick
22.09.2017
09:17:09
Все)
наверно имеет смысл проверить что не касячит драйвер тогда сделай чтото вроде в консоли монги: var t1 = new Date(); var it = db.getCollection(ХХХ).find({}).limit(10000); var count = 0; it.forEach(function (item){count++;}); print(count); var t2 = new Date(); print(t2 - t1);

Peter
22.09.2017
10:55:07
в IntelliShell (Studio3T) я могу это выплонить? Я пробую и оно вечно делает Executing....

yopp
22.09.2017
10:59:46
Есть колекция, в которой хранятся документы с полем в котором base64, и ещё несколько нужных полей. Как можно быстро вытащить документы? По 300 шт тянут. Но сейчас 800ms занимает процесс получение.
Надо профилировать что именно занимает время. Десериализация bson в структуры языка может занимать ощутимое время. Второй момент как быстро выполняется сам запрос. Третий момент как далеко расположена монга.

Peter
22.09.2017
11:03:32
А нет, исполнил он код. Результат: Count: 10000, Time: 318936

Oleg ?
22.09.2017
12:05:15
Ребят, подскажите по индексам монги

есть реплика сет

Google
Oleg ?
22.09.2017
12:05:40
надо делать как в доке: вырубать секондари ,делать индекс, потом включать?

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

?

Nick
22.09.2017
12:09:49
А нет, исполнил он код. Результат: Count: 10000, Time: 318936
ну так лимит свой 300к наверн надо было выставить)

Ruslan
22.09.2017
12:10:29
можно монгу заставить генерировать UUID в качестве идентификаторов?

Nick
22.09.2017
12:10:47
да и сам запрос в файнд надо свой

Oleg ?
22.09.2017
13:01:25
в коллекции конкретно ?

Slava
22.09.2017
13:10:01
да

про бекграунд уже где-то выше обсуждали, что его лучше не использовать так как он может приложить бд и правильнее выводить реплику,стоить индекс и возвращать ее

yopp
22.09.2017
13:15:15
можно монгу заставить генерировать UUID в качестве идентификаторов?
можно заставить бекенд передавать в монгу uuid

Ruslan
22.09.2017
13:53:36
[2017-09-22 16:52:38,012] [provider] [DEBUG] fetch_one: query="{'device_uuid': 'test'}" [2017-09-22 16:52:38,018] [provider] [DEBUG] fetch_one: result="{'company_id': ObjectId('59b85631e1054ebf83005a36'), 'uuid': '59c5151b1c0a7a495b18c8ff', 'device_uuid': 'test'}"

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

GNU/Docker
22.09.2017
13:56:12
Что это.

DBRef

Тогда да.

Ruslan
22.09.2017
13:58:33
я так понимаю монго драйвер просто делает ещё запрос, когда дёргают я dereference



Смотрю через MongoDB Compass на это и думаю, чего же в DBRef undefined то?

Google
Ruslan
22.09.2017
17:15:43
(Pdb) p result['company_id'] <Future pending cb=[_chain_future.<locals>._call_check_cancel() at /usr/local/Cellar/python3/3.5.2_1/Frameworks/Python.framework/Versions/3.5/lib/python3.5/asyncio/futures.py:431]>

а как документ то получить, на который ссылка сделана?

GNU/Docker
22.09.2017
17:22:25
db.dereference(dbref) какойнибудь.

Ruslan
22.09.2017
17:25:49
в pdb строке ты видишь её результат

всё, разобрался

GNU/Docker
22.09.2017
17:27:20
Значит разрезолвить фьючу.

У нас старая монга и драйвер, нет такой подливы.

Ruslan
22.09.2017
17:31:42
я просто с асинхронщины дёргал, традиционно забыл await сделать

камрады, как искать по dbref? если в коллекции device есть документы с dbref на определённый company, возможно ли выгрести все device данного company? через что искать, через какую коллекцию?

yopp
23.09.2017
09:30:18
По значению company_id в коллекции device, если я правильно скриншот почитал

Делаешь индекс по этому полю, а потом ищешь по значению эквивалентному нужной тебе company но в dbref нотации

mozomig
23.09.2017
18:05:42
ребят если у меня есть документ в нем массив, и я хочу взять и достать все документы в элементах массива которых содержится поисковый запрос например буква F или другой набор символов, влоть до полного совпадения, как лучше напистать запрос?

Pavel
23.09.2017
19:13:34
кажется, что тебе лучше изменить схему базы под свою задачу

Timur
25.09.2017
08:33:20
Не полнотекстовый поиск, конечно. И из проблем: 1. По запросу "uery" документ со словом "query" найти не получится, но "quer" найдет. 2. Ну и при поиске нескольких слов с $in индекс будет использоваться только для первого слова (тут я могу соврать).

yopp
25.09.2017
10:20:52
Ну ты открой документ и посмотри значение поля DBRef

Ruslan
25.09.2017
10:21:40
открываю в компасе, смотрю...

всё как на скриншоте том

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

Google
yopp
25.09.2017
10:30:28
А. Компас не показывает json нотацию

Погоди. Ты что в и тоге хочешь?

Admin


Ruslan
25.09.2017
10:31:56
у меня в девайсах есть поле с dbref на компанию, я хочу брать девайсы одной компании, указывая её идентификатор

в общем, разумнее взять pymodm

yopp
25.09.2017
10:52:53
dbref это просто формат записи индентиыикатора документа.

Если ты хочешь выбрать девайсы одной компании тебе нужно сделать выборку по полю в котором у тебя хранится DBRef. Если бы ты хранил посто id компании, то выборка была бы по значению равному id компании. А так как у тебя DBRef то выборка должна быть по DBRef на эту компанию. Там разница по сути только в записи

Как запрашивать по dbref это вопрос к драйверу/odm

Ruslan
25.09.2017
10:57:50
какой ORM для монго+asyncio посоветуете?

aiomongodel кто-нибудь использует?

Vova
25.09.2017
17:27:46
кто нить работал с percona tokuDb, это такая монга но не от монги

Алексей
25.09.2017
17:52:48
а они разве жива ?

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

Vova
25.09.2017
18:20:59
поменяли владельца как понял после "почтибанкротства"

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

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

Max
25.09.2017
19:06:55
Господа, есть вопрос, пишу проект который будет наполнятся с других ресурсов, нужно придумать механизм который реализует углубленную проверку на дубли, который основывается на анализе текста и полнотекстовом поиске. Возможно кто-то сталикивался уже и есть какие-то готовые решения ?

Алексей
25.09.2017
19:18:20
копирастер ?

Google
Vova
26.09.2017
08:26:50
Tenni
26.09.2017
08:27:30
их монга бесплатная с этими фичами

Руслан
26.09.2017
09:29:51
Ребят привет. Нужна помощь в установке mongo на debian 8.

ptchol
26.09.2017
09:34:46
У тебя саджешны отключены в оптах апта походу

Tenni
26.09.2017
09:35:30
Ребят привет. Нужна помощь в установке mongo на debian 8.
https://docs.mongodb.com/manual/tutorial/install-mongodb-on-debian/

Руслан
26.09.2017
09:35:41
При установке sudo apt-get install -y mongodb-org выдает ошибку: The following packages have unmet dependencies: mongodb-org : Depends: mongodb-org-shell but it is not going to be installed Depends: mongodb-org-server but it is not going to be installed Depends: mongodb-org-mongos but it is not going to be installed Depends: mongodb-org-tools but it is not going to be installed E: Unable to correct problems, you have held broken packages. Что может быть?

Tenni
26.09.2017
09:36:09
apt-get install -f

Max
26.09.2017
09:36:59
dpkg --get-selections | grep -v install

keystr0ke
26.09.2017
10:09:17
Nickolay Ovdienko: Всем привет, у меня небольшая проблема, использую aggregation framework для препарирования и выборки данных, необходимо получать количество документов, у которых некое поле содержит id текущего документа. Был сделан lookup в соседнюю коллекцию, потом получали длину результирующего массива и выносили в поле, затем массив удаляли, на тестах при увеличении объёма данных документы становятся очень большими из-за этого массива и запрос падает, потому что превышаю лимит памяти на документ. Посоветуйте пожалуйста, что можно предпринять в сложившейся ситуации? Не очень хочется делать два запроса. Mongo 3.4

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