Akzhol
Cloud
через монгош получается в базе создать документ, с такими же данными?
Akzhol
␡
Если на одном сервере primary replica, а на другом secondary и арбитр, то что будет при падении одного из сервака? Если останется только primary, будут транзакции работать? Или я что-то упускаю?
Wassilevs
если упадет сервак там где primary то начнутся выборы и secondary станет primary, если упадет сервак с secondary и arbiter то выбора не смогут определить primary (не будет выполнено большинство) и primary станет secondary и собственно никакае операции изменения данных не будут возможны
␡
Wassilevs
никак, если есть возможность перенести арбитер на простенький сервак, так как арбитру ресурсы особо не нужны
Wassilevs
количество member должны быть нечётным, иначе выборы могут затянуться, и увеличивая количество member - увеличивается и большинство голосов необходимых для выбора Primary
Anonymous
Есть способ убрать или повысить ограничение в весе одного документа?
Wassilevs
https://docs.mongodb.com/manual/core/document/#document-limitations
🐈KittenDEV | ChEcK BiO
Всем привет. Помогите пофиксить данную ошибку. Сам в монге не шарю.
Татьяна
Подскажите, это правда, что написано в статье? MongoDB уничтожит все данные Россиян и Белорусов https://www.securitylab.ru/news/530550.php
Alexander
🐈KittenDEV | ChEcK BiO
🐈KittenDEV | ChEcK BiO
?
Anton.
Ребят такой вопрос. Есть коллекция rooms и в ней содержится поле messages типа [Object]
Можно ли как то применять методы find/sort/limit к полю внутри коллекции ?
🐈KittenDEV | ChEcK BiO
Damian
Кто работал с индексами в mongoDB, какая то проблема не хочет правильно создавать уникальный индекс
result, err := db.collection.Indexes().CreateOne(db.ctx,
mongo.IndexModel{
Keys: bson.M{"first_name": 1},
Options: options.Index().SetUnique(true),
// Keys: bson.M{"first_name": "text"},
// Options: options.Index().SetUnique(true),
})
и по факту позволяет делать вставку с одинаковыми филдами значениями для first_name
я может что не так понима и делаю?
Wassilevs
Damian
Глеб
Подскажите такой вопрос, надо восстановить реплика-сет монги.
Как будет правильнее это сделать?
Сделать mongodump и потом просто на мастера залить?
Viktar
Viktar
Глеб
Да
А что случится если залить в имеющегося мастера уже дамп, реплики не подтянут это?
Viktar
Глеб
Chelovek
Как долго mongoDb держит соединение?
ᐺᘿᖇᐺᘿ
Чисто из логики
Ivan
Как удобно можно локально хостить и заливать бекапы в монгу
По типу гуи
Андрей
Александр
Александр
Помогите разобраться с правами на пользователя для метрик
https://stuff.21zoo.com/posts/prometheus-mongodb-exporter-user-permissions/
db.getSiblingDB("admin").createUser({
user: "mongodb_exporter",
pwd: "password",
roles: [
{ role: "clusterMonitor", db: "admin" },
{ role: "read", db: "local" }
]
})Ну только что пароль свой.
Настроил строчку старта mongo_exporter
/opt/bitnami/mongodb-exporter/bin/mongodb_exporter --mongodb.uri="mongodb://${MONGO_EXPORTER_LOGIN}:${MONGO_EXPORTER_PASSWORD}@mongodb:27017/admin?ssl=false&authSource=admin" --web.listen-address=":9216" --log.level=debug --compatible-mode
(проверил, переменные правильные парметры подхватили)
Включил debug mongo_exporter, оно в консоль выплёвывает метрики в своём формате (json по виду) и в конце вот такой warning
time="2022-03-18T08:54:08Z" level=warning msg="cannot create metrics for oplog: mongo: no documents in result"
Думал, проблема с правами, а там кажись не было ни какой нагрузки или хз, что. Просто подправил права, что бы работала команда find system.version
И из этого чата позаимствовал для Grafana примера
db.getSiblingDB("admin").createUser({
user: "mongodb_exporter",
pwd: "HARDPASSWORD",
roles: [
{ role: "clusterMonitor", db: "admin" },
{ role: "read", db: "local" },
{ role: "read", db: "admin", collection: "system.version" },
{ role: "mongo_exporter", db: 'admin' }
]
})
db.createRole({
role: "mongo_exporter",
privileges: [
{
resource: { db: "", collection: "" },
actions: [ "listCollections" ]
},
{
resource: { cluster: true },
actions: [ "listCollections" ]
},
{
resource: { db: "local", collection: "oplog.rs" },
actions: [ "find" ]
},
{
resource: { db: "admin", collection: "system.version" },
actions: [ "find" ]
}
],
roles: []
})
макс к.
у меня есть запись name: {en: "text1", "fr": "text2"}, как можно получить при запросе только одно поле? что бы в итоге получить к примеру name: "text1"
Nick
макс к.
Vitalii
здаствуйте, почему webstorm не видит типизацию mongoose
Дима
У меня схема называется Request-history
Что писать чтобы очистить базу
db.request-history.drop() выдает ошибку
Дима
Из-за чего может жрать CPU монга?
Wassilevs
Из-за чего может жрать CPU монга?
Tasks that are CPU intensive like: scanning and sorting, updating and rebalancing indexes, map-reduce, aggregation framework commands and server-side JavaScript
Wassilevs
переводить лень было
Дима
Wassilevs
Wassilevs
либо так
db.getCollection("request-history").drop()
🐈KittenDEV | ChEcK BiO
Доброго вечера всем. Помогите исправить данную ошибку. Если нужен код, то пишите.
Danil
Ребят подскажите как в монге сделать insert on сonflict или что-то подобное
Задача при создании записи сделать уникальный интовый автоинкремент
Alexander
Danil
точно оно?
может я гуглю плохо, но что-то не догоняю пока)))
Зачем мне апдейт?
Danil
Может как-то можно лок на таблицу повесить?
Владимир
Подскажите запрос как получить последний элемент коллекции?
Владимир
нашел это
.sort({'_id':-1}).limit(1)
но как-то кастыльно
нет ли элегантного решения?
Boburmirzo
Я не могу подключиться к базе данных в vps с локальным файлом nodejs. но может быть подключен в компасе. Как это можно отремонтировать?
Boburmirzo
Boburmirzo
Boburmirzo
Boburmirzo
Boburmirzo
Владимир
твой путь тоже хорош
А что там хорошего? Чтобы взять последний документ нужно отсортировать мллиард....
Cloud
а мб просто тайм стампы добавить и по ним?
Владимир
Roman Khonichev
Владимир
Roman Khonichev
Владимир
в идеале getdocument("collection")[-1] такого типа
Владимир
Владимир
вот нашел такое
Владимир
вроде оно
Владимир
Nick
db.yourcollectionname.findOne({$query: {}, $orderby: {$natural : -1}})
Порядок монгой не гарантируется в этом случае и последним могут быть разные доки даже в последовательных запросах. Так что единственный вариант это определить что значит последний относительно полей в доке (время какоето или ид или метка или еще что) и делать соответствующую выборку с сортировкой