@MongoDBRussian

Страница 203 из 342
Yura
13.03.2018
08:17:12
Привет. У меня пару вопросов - одиночные инсерты как-то на стороне wiredtiger собираются в кучу, чтобы на клиенте не делать балк-инсерты? Необходимо ли делать короткие имена полей в документе, чтобы сэкономить место? Они никак сами не сжимаются?
Балк инсерты экономят в первую очередь не диск, а сетевые раунд-трипы. Потому, обязательно используйте балк инсерты, если данные поступают быстро. Если же данные возникают редко, то конечно группировать их большого смысла нет.

(на счет "первой очереди" могу быть не совсем прав. Я не знаю, если потребовать подтверждение записи, сгруппирует ли монга подтверждение для балка?)

Aleksandr
13.03.2018
08:24:21
то есть вполне можно обновиться следующим образом? остановить монгу сделать дамп обновить до свежей версии запустить если поломалось - все прибить и раскатить дамп на свежую версию

Google
yopp
13.03.2018
08:25:11
Если есть возможность остановить и сделать дамп, то конечно нет смысла обновлять поочерёдно :)

Причём никакого контроля нет, если оно где-то посредине списка сломалось, то ты узнаешь только то, что оно сломалось. А где и что вставилось, а что нет — не узнаешь.

Aleksandr
13.03.2018
08:29:15
Но зачем
ну то есть при прямом обновлении не будет проблем с тем, что данные внезапно неработоспособные на свежей версии? )

беспокоюсь только из-за этого )

yopp
13.03.2018
08:30:14
ну то есть при прямом обновлении не будет проблем с тем, что данные внезапно неработоспособные на свежей версии? )
Ещё раз повторю: если сделать дамп, удалить dbpath, обновить до последней версии — не будет.

Если не удалять dbpath монга 3.6 на dbpath от 2.8 не заведется

Aleksandr
13.03.2018
08:31:23
ага, вот это интересовало

yopp
13.03.2018
08:33:00
Я не 100% уверен что она не заводится намеренно, но к меня ощущение что я на это уже натыкался и там реализована защита

Dimanius851
13.03.2018
12:11:40


Nick
13.03.2018
12:15:37
А чтр в доке написано?

Dimanius851
13.03.2018
12:22:54
да блин

Google
Stepan
13.03.2018
12:42:41
Какая ODM ?

Вопрос не очень относится к монге

Yurii
13.03.2018
13:19:30
Кажется, это mongoose, он поумолчанию умеет промис. Какая версия у тебя?

Nick
13.03.2018
13:40:39
Так в докн к методу этому что написано? Он промис должен возвращать?

Yurii
13.03.2018
13:44:34
^4.9.1
Не хочешь обновится хотя бы до [https://github.com/Automattic/mongoose/blob/master/History.md](4.13.11)? С такой старой версей не работал, но где-то с 4.11 точно начал юзать async/await - а они работают на Promise

Yurii
13.03.2018
13:45:47
ну вроде не все методы возвращают, я читал
Возможно, ты читал документацию не к той версии ?

4.9.1 - 2017-03-19, это почти год назад

всё сложно с обновлением
понятно, что на 5 не надо переходить, там жалательно и монгу 3.6, а вот 4.13 должна взлететь без проблем, не помню, чтобы там были "Breaking changes"

Dmitry
13.03.2018
15:45:05
Добрый вечер

Подскажите кто знает как заставить монгу автоматически запукаться если крэшит? есть Upstart respawn respawn limit 30 2 но чет оно не пашет если я прибиваю процесс так и лежит сервис sudo reboot тоже не помогает создал вот так sudo nano /etc/init/mongodb.conf

версия 3.4

Dmitry
13.03.2018
20:55:57
ну в проде да. там нельзя рестартить. там только с реплики поднимать .просто это дев. пока без разницы. там один инстанс

посоветовали http://supervisord.org/

Ivan
13.03.2018
20:57:35
Что-то в голос

и в чем проблема ? SELECT * FROM users ORDER BY 3 DESC LIMIT 10;

Google
Ivan
13.03.2018
20:57:36
но вообще вы не в том чате.

Как будет на Монго?

так на монго или на mysql ?

MySql но я разберусь

Игорь
14.03.2018
06:01:47
Здравствуйте, товарищи! Два вопроса есть: влияет ли на производительность количество коллекций в одной базе и влияет ли длинна названия коллекции на производительность?

keystr0ke
14.03.2018
06:18:35
Здравствуйте, товарищи! Два вопроса есть: влияет ли на производительность количество коллекций в одной базе и влияет ли длинна названия коллекции на производительность?
Длинна не влияет. Если стоит вопрос об одной большой коллекции или нескольких небольших, то лучше несколько небольших. Больше информации по этому вопросу можно найти в документации https://docs.mongodb.com/manual/core/data-model-operations/

Игорь
14.03.2018
07:24:43
А такой вопрос. Работаю через драйвер на питоне и пытаюсь записать словарь методом insert_one, выкидывает ошибку TypeError: Object of type 'InsertOneResult' is not JSON serializable

Serhio
14.03.2018
07:40:52
у Вас ошибка типов - это на стороне python

Mykola
14.03.2018
07:41:39
Кто то использует mongoose для отслеживания ивентов в mongo при insert/delete ?. Не на реплике, на stand-alone db

Nick
14.03.2018
08:44:11
Кто то использует mongoose для отслеживания ивентов в mongo при insert/delete ?. Не на реплике, на stand-alone db
Скажите какую задачу пытаетесь решить и тогда чтонить посоветуют

Dmitry
14.03.2018
09:09:08
Подскажите кто знает как заставить монгу автоматически запукаться если крэшит? есть Upstart respawn respawn limit 30 2 но чет оно не пашет если я прибиваю процесс так и лежит сервис sudo reboot тоже не помогает создал вот так sudo nano /etc/init/mongodb.conf
Если кому интересно то оказалось все следующим образом. Там уже все ini конфиги настроены. работает это через upstart и systemd. upstart используется в ubuntu вплоть до версии 14. начиная с 15 уже systemd пиэтому нигде не мог найти эти зацепки которые гуглятся. sudo nano /lib/systemd/system/mongod.service добавить Restart=on-failure ну и дальше использовать команды systemctl status mongod sudo systemctl stop mongod sudo systemctl start mongod sudo systemctl restart mongod

Artem
14.03.2018
09:15:18
так тебе же вчера по моему написали, что это и решается на уровне сервисов ОС

Dmitry
14.03.2018
09:19:55
Да. я просто нюансы написал

как конкретно сделать

Dmitry
14.03.2018
10:05:42
Это да. но убунт не позволит забыть про это )

Aleksandr
14.03.2018
12:57:14
а как в монге в js можно собрать объект и в проперти объекта подставить поле, которое получаешь откуда-то? например var objects = {}; db.coll.find().forEach(function (item) { v = db.coll2.find(); name = v.name; objects.name = item; }); у меня в итоге создается объект только с одним свойством, а я хочу получить что-то вида {name1: object1, name2: object1}

object.appen() не работает монга 3.6

Google
Aleksandr
14.03.2018
12:57:52
хочу пересобрать скриптом вложенную коллекцию

уже голову себе сломал с мыслями как это сделать ))

Nick
14.03.2018
13:00:41
в чат по js

Aleksandr
14.03.2018
13:03:35
ну вдруг кто-то здесь с таким работал

Nick
14.03.2018
13:05:00
прост в вашем коде даже нельзя разобраться, что вообще делается. поэтмоу сначала бы разобратсья в js и научитсья на нем прогать, а потом уже работат ьс монгой

а в отношении к монге вы можете пока глянуть на https://docs.mongodb.com/manual/aggregation/

возможно вы получите результат сразу из монги

Aleksandr
14.03.2018
13:16:13
отбой нашел проблему

направильное значение присваивал переменной

Mykola
14.03.2018
19:06:40
Скажите какую задачу пытаетесь решить и тогда чтонить посоветуют
Когда сохранил данные, результат возврщаеться с ДБ на сервер это занимает время, я хочу после созранения читать резултат на уровне монги какимто спосом реализовать логику обработки результата, если так понятно.

Nick
14.03.2018
19:08:17
т.е. чтобы не делать лишний find?

Игорь
15.03.2018
11:43:54
А в названии коллекции допускаеться @ ?

Nick
15.03.2018
11:48:34
А в названии коллекции допускаеться @ ?
https://docs.mongodb.com/manual/reference/limits/#restrictions-on-collection-names

Игорь
15.03.2018
11:49:55
там не указан и коллекция добывляеться, но вот при поиске по коллеции ругаеться на невалидный символ

Nick
15.03.2018
11:50:38
С помощью чего ищете? Монгошелл?

Игорь
15.03.2018
11:51:37
да

2018-03-15T14:50:28.025+0300 E QUERY [thread1] SyntaxError: illegal character @(shell):1:6

Aleksandr
15.03.2018
11:52:08
а пример запроса можно?

Игорь
15.03.2018
11:52:21
db.smith@mail.com_7.find()

Google
Aleksandr
15.03.2018
11:52:40
какая странная коллекция

Игорь
15.03.2018
11:52:54
ну то есть для кажого пользователя по емайл хотел сделать коллецию

это тест

а там хранить объекты для него

Yurii
15.03.2018
11:53:48
db.smith@mail.com_7.find()
db['smith@mail.com_7'].find()

Nick
15.03.2018
11:54:00
Сделайте через db.getCollection("...").find

Игорь
15.03.2018
11:55:43
db.getCollection("smith@mail.com_7").find()

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