Daniyar
ну и с пагинацией
Daniyar
Daniyar
я смогу потом как-то работать со старыми данными?
Daniil
Если данные есть в коллекции, то вы можете с ними работать)
Но при таких данных даже при относительно небольшой нагрузке их может набраться очень много, что затруднит выборки очевидно
Daniil
Но в целом при наличии индексов, нормальном железе и не без огромной нагрузки на запись проблем не будет с выборками по всем комбинациям
Denis 災 nobody
кто как автоматом расктывает кластер?
Anonymous
Здравствуйте, как вывести с базы уникальные значения (без повторов) использую mongoose?
Mykola 🤷🏼♀️
Anonymous
distinct выводит только это поле, а мне надо полностью док
Anonymous
с группами можно подробней, пожалуйста? например выбрать все категории по одному разу
Mykola 🤷🏼♀️
уникальные документы нужны? Тогда group по всем полям должен работать
Anonymous
выводит только поле, а надо всю запись (название, тег к примеру) а уникальность только по одному полю
Anonymous
$continue$
Всем привет, почему может не проходить авторизация под созданным юзером?
Создаю так:
db.createUser( { user: "user", pwd: "password", roles: [ { role: "readWrite", db: "db" }, { role: "clusterMonitor", db: "admin" } ] } )
Логи:
2020-05-05T02:02:30.256+0300 I NETWORK [conn217] received client metadata from 127.0.0.1:53184 conn217: { application: { name: "MongoDB Shell" }, driver: { name: "MongoDB Internal Client", version: "4.0.18" }, os: { type: "Linux", name: "PRETTY_NAME="Debian GNU/Linux 9 (stretch)"", architecture: "x86_64", version: "Kernel 4.9.0-12-amd64" } }
2020-05-05T02:02:30.257+0300 I ACCESS [conn217] Supported SASL mechanisms requested for unknown user 'nodebb@admin'
2020-05-05T02:02:30.257+0300 I ACCESS [conn217] SASL SCRAM-SHA-1 authentication failed for db on admin from client 127.0.0.1:53184 ; UserNotFound: Could not find user db@admin
2020-05-05T02:02:30.257+0300 I NETWORK [conn217] end connection 127.0.0.1:53184 (0 connections now open)
Юзер создан, смотрел через show users
"_id" : "test.nodebb",
"userId" : UUID("f7036032-760f-458d-9a5c-ab74ec52287b"),
"user" : "user",
"db" : "db",
"roles" : [
{
"role" : "readWrite",
"db" : "nodebb"
},
{
"role" : "clusterMonitor",
"db" : "admin"
}
],
"mechanisms" : [
"SCRAM-SHA-1",
"SCRAM-SHA-256"
]
И, кстати почему он пытается обратится к db@admin?
Roman
Как загрузить dump базы?
Roman
То есть у меня есть папка (дамп базы) и мне нужно ее загрузить в свою базу, чтобы посмотреть структуру. Как мне это сделать?
Daniil
Daniil
С помощью этих утилит можно работать как с отдельными коллекциями так и со всей базой
Daniil
mongorestore —db dbname /dump
Восстановить все коллекции из директории dump
mongodump —db dbname
Сделать дамп всей базы (несколько файлов содержащих данные коллекций)
Daniil
Ещё есть mongoexport/mongoimport
Daniil
Для экспорта/импорта в/из монги в форматах JSON/CSV
Daniil
Но эти утилиты больше подходят если вы хотите работать с данными из монги где то в другом месте или загрузить какие то данные в монгу массово
Denis 災 nobody
кто как автоматом расктывает кластер?
Denis 災 nobody
Dmitry
Denis 災 nobody
cloudformation же
Denis 災 nobody
аналог - терраформ
Denis 災 nobody
суть в том что там ноды в autoscale group
Denis 災 nobody
не получится 1 раз выкатить кластер, он может сам заменить ноду например
Denis 災 nobody
нет
Denis 災 nobody
есть аналог, примерно совместимый по апи, но в нашем случае это "примерно" не подходит
Dmitry
Denis 災 nobody
с год назад мне перечисляли чего там нет и что не так, но всё забылось уже
Daniil
Dmitry
не получится 1 раз выкатить кластер, он может сам заменить ноду например
Так там один фиг нужно какой-нибудь шард ключ выбрать. То есть автоматику навесить там будет проблемно.
Да и в целом, там же при автоскейле нового шарда, данные, которые в него переедут, будут удалятся со старых. А это дорогая операция, и в кластере ее никак нельзя контроллировать. И можно этим автоскейлом весь кластер положить.
Все зависит от нагрузок конечно, но если ты уже говоришь про sharded кластер, то они у тебя не маленькие
Vadym
Добрый день, запускаю функцию ExecutableMongoScript (Spring Data), которая внутри использует eval. В итоге БД пишет 'not authorized on db to execute command { $eval ...'. Почитал, вызов Eval требует много прав. Как правильно вызывать скрипты в монго? Как это делать в 4,2+ где eval удален? Спасибо!
Nick
Dmitry
суть в том что там ноды в autoscale group
в случае готового кластера и уже выбранного ключа шардирования, то добавить новый шард это - запустить ec2 в твоем случае, с готовыи ключом (security.keyFile). А затем добавлением его в кластер в mongos (sh.addShard).
Ну или поднятия трех ec2, делаем из них replicaset, а потом добавляем в кластер, если хотим отказоустойчивость шарда.
А вот если мы хотим соскейлится вниз...
По идее это можно автоматизировать. Но мне кажется такая история не про mongodb, и можно огрести проблем больше чем хотелось.
Speedy
как в монго обращаться к определенному элементу массива?
Mykola 🤷🏼♀️
Speedy
Speedy
а какие самые обиходные способы есть?
Mykola 🤷🏼♀️
Speedy
это инсерт
Mykola 🤷🏼♀️
зачем при инсерте обращаться к элементу массива
Speedy
скрин инсерта имеею ввиду
Speedy
пишу просто запрос
Speedy
и надо что-то такое
Speedy
{$where: 'this.array.get(0)=2'}
Mykola 🤷🏼♀️
если запрос - обычный find и занечение массива - обычный тип (не документ), то просто вот так:
arrayField: “value”
Mykola 🤷🏼♀️
будто бы никакого массива нет
Mykola 🤷🏼♀️
вернутся документы, у которых в массиве есть хоть одно совпадение
Speedy
спасибо большое
Speedy
еще мелкий вопрос как не выписывать ид?
Speedy
где-то помню ид на 0 нужно было ставить, вопрос где
Mykola 🤷🏼♀️
в проекции - вторым параметром { _id: 0 }
Speedy
что в этом проеция?)) сори за такие вопросы, просто на экзе нет времени гуглить
Speedy
все вдуплил
Speedy
spasibo
Влад
Здравствуйте, чем отличаются схемы от моделей? Где можно подробно почитать?
Mykola 🤷🏼♀️
Daniil
Vadym
извне через mongo blabla.js
Это вызов файла-скрипта? Для этого не нужно такие же права как для Eval? У меня есть скрипт, который обновляет коллекции, как это правильно пишут? В реляционных БД для этого есть хранимые процедуры...
Daniyar
ребят. сколько будет стоить примерно размещение node.js/mongo проекта на хороший сервер?
Vova
Vova
хороший сервер - очень плавающее понятие
Daniyar
я в серверах не очень разбираюсь
Daniyar
просто главное чтоб сервер не тупил при использовании
Daniyar
трафик средний если
Vanya
А какая нагрузка предполагается?
Daniyar
как высчитывать?
Daniyar
одновременный онлайн?
Vanya
Ну типа того
Daniyar
нуу.. не знаю.. для частного бизнеса пока что