
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

Nick
22.09.2017
07:14:09

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

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

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

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

Slava
22.09.2017
13:01:00

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

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

yopp
22.09.2017
13:15:15

Oleg ?
22.09.2017
13:21:43

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 индекс будет использоваться только для первого слова (тут я могу соврать).

Ruslan
25.09.2017
10:10:20

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

Ruslan
25.09.2017
10:21:40
открываю в компасе, смотрю...
всё как на скриншоте том
я так понимаю, пока индекс на это поле не построю, я не могу делать запросы по содержимому в ссылаемом документе

Google

yopp
25.09.2017
10:30:28
А. Компас не показывает json нотацию
Погоди. Ты что в и тоге хочешь?

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

Gleb
25.09.2017
18:50:31
зачем току для этого?

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

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

Alex
26.09.2017
08:00:51

Google

Artem
26.09.2017
08:04:43

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

Руслан
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