
Vlad
20.03.2018
17:30:20
Вот тот sh:
https://github.com/docker-library/mongo/blob/master/3.6/docker-entrypoint.sh
а вот пример:
https://stackoverflow.com/questions/34559557/how-to-enable-authentication-on-mongodb-through-docker
первый ответ

Dmitry
20.03.2018
20:08:16
version: "2"
services:
app:
container_name: application_container
build: .
command: npm start
environment:
- NODE_ENV=production
volumes:
- .:/app
ports:
- "3000:3000"
depends_on:
- mongodb
mongodb:
container_name: mongodb_container
image: mongo:latest
command: mongod --auth
volumes:
- dbdata:/data/db
- ./install:/docker-entrypoint-initdb.d
ports:
- '27017:27017'
environment:
- AUTH=yes
- MONGO_INITDB_ROOT_USERNAME=login
- MONGO_INITDB_ROOT_PASSWORD=pass
- MONGO_INITDB_DATABASE=mydbname
- MONGO_DATA_DIR=/data/db
- MONGO_LOG_DIR=/dev/logs
volumes:
dbdata:
- ./install:/docker-entrypoint-initdb.d
победа

Google

Dmitry
20.03.2018
20:09:01
в папке инстал есть js файл что скармливается монго на создание юзера для базы
малоли кому нужно будет

Dimanius851
20.03.2018
20:10:20

XENONIUM
20.03.2018
20:49:33
Как в словарь добавить еще один элемент, не изменяя другие?
Мне нужно как-то перейти на вложенный элемент в словаре, это делается обычно через точку, но что делать, если этот элемент у меня переменная
'color'.black выдаст ошибку

Aleksandr
21.03.2018
03:21:44
color - переменная?

Vlad
21.03.2018
04:13:03

XENONIUM
21.03.2018
05:08:30

Aleksandr
21.03.2018
05:08:43
а чего она в кавычках?

XENONIUM
21.03.2018
05:09:46
Ну, потому что иначе никак
У меня PyMongo. color - это внутренний словарь в датабазе

Ilya
21.03.2018
05:13:16
я не понял все таки в чем проблема, может пример кода покажите?

Google

Vlad
21.03.2018
06:20:06

XENONIUM
21.03.2018
06:21:48

Vlad
21.03.2018
06:23:42

Ilya
21.03.2018
06:26:07
db.collection.update_one({'id': 1}, {'$set': {f'color.{black}': True}} )
в python 3.6
ну или db.collection.update_one({'id': 1}, {'$set': {'color.{}'.format(black): True}} )

Vlad
21.03.2018
06:28:46
menyauschayaschaya_var = 'black'
x = '.'.join(('color', men..._var))
db.collection.update_one({'id': 1}, {'$set': {x: True}})
?

XENONIUM
21.03.2018
06:31:38
Я, в общем, нашел более простой способ
groups.update_one({'id':str(message.chat.id)},{'$set':{'color.'+black:something})
'const.'+variable

Vlad
21.03.2018
06:35:18
'const.'+variable
Это называется конкатенация строк, тебе выше три более подходящих варианта предложили

Yura
21.03.2018
07:54:12
Добрый день. Можно ли при агрегировании узнать индекс элемента некоторое поле которого имеет максимальное значение среди подобных элементов?

XENONIUM
21.03.2018
09:33:20
О чем гласит эта ошибка? Не могу понять что не так
bson.errors.InvalidDocument: Cannot encode object: {'extras.#test'}

Nick
21.03.2018
09:34:11
а где значение для поля?

XENONIUM
21.03.2018
09:35:22
Так а я делаю $unset документа в документе
Ой, точно, позиции же нет
Я опечатался

Alexander
21.03.2018
09:36:11
Всем привет.
Что это может быть?
Unhandled rejection Error: URL malformed, cannot be parsed
строка коннекта: mongoose.connect(process.env.MONGODB_URI);
в .env тоже всё как обычно: MONGODB_URI=mongodb://localhost/mydb
nodejs: default -> lts/carbon (-> v8.10.0)

Nick
21.03.2018
09:37:10
а вы выведите в лог process.env.MONGODB_URI

Google

Alexander
21.03.2018
09:38:14

XENONIUM
21.03.2018
09:38:51
Стоп. А как удалить словарь Y из словаря X? $unset удаляет весь словарь X

Nick
21.03.2018
09:39:38
ансет удаляет поле в json объекте, ваши словари оставьте в языке который вы используете

XENONIUM
21.03.2018
09:41:16
{x: {y: {color:1,size:2} } }
Как удалить весь объект y?

Nick
21.03.2018
09:41:45
$unset: { "x.y":""}

XENONIUM
21.03.2018
09:42:45
Благодарю

Игорь
21.03.2018
09:57:32
Вопрос. Как задать в монго тип поля для объетов в коллецкии? что бы при записи оно было int а не str?
Допустим я добавляю объекты, у которых есть поле price и я хочу, что бы оно было числом

Yura
21.03.2018
10:01:21
{ price: 12.95 }
{ price: "12.95" } - а так строка

Nick
21.03.2018
10:14:01

Игорь
21.03.2018
10:35:10
и такой вопрос. по производительности $regex или $text быстрее?

Nick
21.03.2018
10:37:09
elasticsearch быстрее
какую задачу решаете? какие данные? какие регеэкспы?

Игорь
21.03.2018
10:49:41
часть задачи, поиск по коллекции. Есть несколько полей, содержащих текстовые данные. Нужно находить документы, которые содержать текст, вбитый в поиск. В коллекции может несколько сотен тысяч документов, до миллиона. Текстовые поля могут содержать до 50 -80 слов

Nick
21.03.2018
11:27:52
Совпадение один к одному ищется? Морфология, опечатки и всякая остальная хрень будет?

Игорь
21.03.2018
11:31:03
ищеться любое совпадение, в том числе и частиное. что пользователь ввел, то и ищем. есть проблема, могут быть перемешаны языки прямо в одном поле. Русские и английские слова

Nick
21.03.2018
11:40:24
И еще вы монгу уже используете или именно для этой задачи тащите?

Игорь
21.03.2018
11:54:02
Это дополнительная задача к другой задаче. Монго нужна для других функций ещё
в принципе меня утроит поиск по отдельные полям в коллекции. я думал насколько $regex производиетелен в этом случае

Google

Nick
21.03.2018
12:13:24
$text не ищет по части слова, только по целым словам
соответвенно здесь регэксп в выигрыше
однако регексп не может использвать индексы для случаев, когда явно не указано начало строки
в общем случае когда стркоа приходит из поиска, то как правило автоматически добавляется задача на опечатки, а монга это уже не умеет ни в каком виде

keystr0ke
21.03.2018
12:18:32

No
21.03.2018
12:28:10
Здравствуйте, у меня такая проблема.
PHP7 скрипт добавляет запись в БД Монго. Вместо того чтоб добавилась запись в коллекцию, создается вторая дубликация и туда добавляется записи.
Я не могу понять, почему так происходит и как сделать нормально.

Vlad
21.03.2018
12:33:48

Nick
21.03.2018
12:35:02
добавьте уникальный индекс во уникальному полю

Vlad
21.03.2018
12:35:41
Может у тебя там а в названии русская

No
21.03.2018
12:35:59
не может быть русского названия ибо я копировал название

Nick
21.03.2018
12:36:45
и докучи разберитесь в отличия монговских insert/save/update with upsert true

Ilya
21.03.2018
12:36:46
значит пробел

No
21.03.2018
12:37:07
Нет пробела. $dbServer->executeBulkWrite('gameserver.mails ', $bulk);
ах черт
ты прав

Ilya
21.03.2018
12:37:17
=))

Vlad
21.03.2018
12:37:24
)

No
21.03.2018
12:37:25
2 дня
два дня играюсь

Google

Vlad
21.03.2018
12:37:42
Бывает

Nick
21.03.2018
12:37:53
а если бы использовали монгошелл то одного запроса бы хватило

No
21.03.2018
12:39:26
честно сказать я не знаю что такое монгошел, сейчас пойду гуглить. Я никогда не работал с монго, а так совпало что сейчас надо сделать некие запросы монго.

Nick
21.03.2018
12:39:54
а через что вы лазите в монгу?

No
21.03.2018
12:40:43
Компост
я от него копировал название коллекции) он мне пробел впехнул)
так большое спасибо всем кто откликнулся, я бы ещё 2 дня игрался)

Игорь
21.03.2018
16:42:44
А подскажите такой момент, когда нужно создавать индексы в коллекции по полям? У меня коллекции от 80 до 800 тысяч документов. Выполняю поиск и сортировки по ним и все очень быстро вроде. $regex по большим текстовым полям в коллекции почти на миллион и все за доли секунды .
От каких объемов производительность проседать начинает вообще?
И это при том, что я ещё не разворачивал это на сервере, пока на локальном компе гоняю

Nick
21.03.2018
16:49:02
Все свои запросы прогоняйте через экспоейн иначе вы пропустите момент когда индексы перестанут юзаться для регэкспа, если вообще сейчас используется

Игорь
21.03.2018
16:54:01
Ну я вообще кроме _id индексов сейчас не имею в коллекциях. Я думал создавать или нет, начал гонять базу на все запросы, которые буду использовать... и все летает. А по текстовым полям вообще возможно создать индекс, если там русский и английский текст в перемешку? И будет ли в этом толк? Сегодня ознакомился с доками и если я их правильно понял, несколько языков можно задать для нескольких полей в одном документе, а вот одно поле в документе так не индексируется

yopp
21.03.2018
16:57:39
Когда начнёт тормозить, тогда и создавайте