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 нотацию
Погоди. Ты что в и тоге хочешь?
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
поменяли владельца как понял после "почтибанкротства"
я к чему справшиваю - фиг с ним с их фрактал индекс, нео у них энтерпрайзные фичи типа шифрования бесплатно в лицухе
хотя, конечно, ооогромные сомнения в стабильности, но в моём случае это терпимо если проблемы не убийственны
Gleb
25.09.2017
18:50:31
зачем току для этого?
Max
25.09.2017
19:06:55
Господа, есть вопрос, пишу проект который будет наполнятся с других ресурсов, нужно придумать механизм который реализует углубленную проверку на дубли, который основывается на анализе текста и полнотекстовом поиске. Возможно кто-то сталикивался уже и есть какие-то готовые решения ?
Алексей
25.09.2017
19:18:20
копирастер ?
Google
Alex
26.09.2017
08:00:51
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