@MongoDBRussian

Страница 207 из 342
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 файл что скармливается монго на создание юзера для базы

малоли кому нужно будет

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
color - переменная?
Нет, это константа

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
'color'.black выдаст ошибку
db.collection.update_one({'id': 1}, {'$set': {'color.black': True}} )

XENONIUM
21.03.2018
06:21:48
db.collection.update_one({'id': 1}, {'$set': {'color.black': True}} )
black - меняющаяся переменная

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
а вы выведите в лог process.env.MONGODB_URI
блин... ))) undefined во тупанул

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

Игорь
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
Это дополнительная задача к другой задаче. Монго нужна для других функций ещё
поглядите в сторону elasticsearch конкретно для задачи поиска по тексту, монго не показывает хороших результатов в задачах работы с текстами и есть проблемы с языками и кучи функциональности просто нет, возможно пока не поздно можно пересмотреть архитектуру

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



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
Когда начнёт тормозить, тогда и создавайте

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