Nick
я вкурсе и это не в первый раз когда я так отвечаю, начал уже замечать за собой, но мне привычнее указать на источник проблемы, т.к. обычно это фундамент с которого надо начинать и опять же человек вероятно не сможет понять что ему ответили
Yar
как-то абстрактно
Yar
чат не называеться, mongoDB russian pro only
Yar
давайте уважать друг друга
yopp
чат не называеться, mongoDB russian pro only
Не надо клевать в ответ
ㅤㅤㅤㅤㅤ
выведите на консоль поулченнй id
id уже может быть включен, и если перезагрузка, то ошибка появляется по-прежнему, может быть, вы можете привести пример
Nick
вот видишь, я же говорю что говорю что сделать, а человек даже не понимает что я ему предлагаю сделать, т.к. при отсутвии базовых знаний даже такие простые вещи никак не выполнить
yopp
Смотри на это как на игру «пойми меня» ;)
Nick
о да, я обычно так и делаю, благо даже навыки телепатии уже выработались
ㅤㅤㅤㅤㅤ
просто выведите на консоль полученный из урла employee_id
да, может, у вас есть еще один пример?
yopp
Folks, if you would like to continiue in english, please go to @mongo_db.
ㅤㅤㅤㅤㅤ
may be english?
yes it does not matter I am also an Indonesian
Игорь
Товарищи, а как можно проверять дампы сделанные коммандой mongodump?
yopp
Проверить что?
Игорь
что дампы рабочие и их них можно потом нормально восстановить данные
Игорь
то есть один скрипт делает дампы по таймеру
Игорь
а второй должен переодически их проверять в каталоге
yopp
«Рабочесть» дампов это сложное понятие. Тут можно выделить два основных направления: целостность файла бекапа и целостность данных.
yopp
Целостность файлов можно проверять с помощью контрольных сум
yopp
А вот проверять целостность данных, вам придётся самостоятельно. Монга это просто хранилище bson, она ничего не знает про то, что там внутри bson есть.
yopp
Дамп — последовательность bson документов
yopp
Говоря проще: тупо все документы подряд в bson.
Игорь
А есть литература или статьи на эту тему? Живые пример на практике бы пробежать глазами
yopp
На какую из?
Игорь
Целостность файлов можно проверять с помощью контрольных сум
yopp
В последнее время я часто начал про borg слышать https://borgbackup.readthedocs.io/en/stable/
yopp
Там уже всё встроено
Игорь
спс!
Serhii
как можно проверить, существует ли уже поле в бд?
Nick
в конкретном доке или хотя бы в одном по всей базе?
Serhii
в конкретном доке, есть уже такая цепочка languages : { games : { game1
Zhomart
Ребят, доброй вечер. Не подскажете, в каком сайте есть проекты по NoSQL(Mongodb): примеры на монго в json or bson формате или dataset'ы
Анатолий
привет. вопрос - как сделать remove документа из коллекции, чтобы сразу же из индекса тоже убирался документ?
yopp
Монга сама управляет индексами, вам ничего не надо делать.
Анатолий
я просто делаю db.collection.remove({условия}) - и потом всё равно находятся удаленные документы. судя всему по индексу
Анатолий
щас гуглил - нашел ответ что при remove документ помечается как удаленный, но индекс не перестраивается
Анатолий
т.е. потом надо reIndex вызывать получается. но у меня коллекция большая (1тб), не хочу дропать индекс и строить заново
yopp
Ваш источник информации — низкого качества. Вам не нужно делать ни reIndex, ни специальным образом удалять документы.
yopp
Если вы получаете в ответе удалённые документы, на это могут быть другие причины
Анатолий
понял. спасибо. значит просто remove и всё?
yopp
У вас stand-alone или replica set?
Анатолий
wiredtiger 3.2
Анатолий
а из-за чего может вернуться тогда удаленный документ?
yopp
а из-за чего может вернуться тогда удаленный документ?
Это нормальное поведение, если вы удаляете документ, а потом читаете с secondary. В промежутке между удалением на primary и применением оплога на secondary документ всё ещё будет доступен. Промежуток зависит от лага репликации
Анатолий
эх =(( у меня нету репликации. standalone монга
Анатолий
я делал remove, потом видел удаленные документы в find. а когда делал reIndex - они пропадали из find
yopp
Второй вариант: документы не удаляются. Это может быть ошибка в запросе в remove или проблема с правами.
Анатолий
но это всё на маленькой коллекции. а на большой не хочется reIndex
Анатолий
ага. права. понял посмотрю
yopp
Вам вообще не нужно никогда делать reIndex. Это необходимо только для восстановления после сбоя
yopp
Попробуйте обновить монгу до 3.6. Версия 3.2 превратится в тыкву в сентябре
yopp
Вы это через mongo-shell делаете?
Анатолий
ага в консоли
Nick
@dd_bb тут вопросик возник докучи, а монга не гарантирует, что при удалении используя один коннекшн, и после удаления сразу сделать запрос из другого коннекта, то там могут все еще быть доки?
yopp
Зависит от того, какую версию хранилища увидит второе соединение.
Анатолий
от соединения может зависеть наличие удаленного документа в коллекции?
Анатолий
это был бы бред...
yopp
Так что не гарантирует, да. Но даже теоретически окно в котором это возможно, достаточно маленькое.
yopp
это был бы бред...
Это не бред, это MVCC
Анатолий
получается где-то данные должны будут сохраниться?
yopp
Т.е. каждая открытая сессия в хранилище фиксирует какое-то состояние хранилища во времени.
yopp
Запрос меняет состояние этого хранилища и новое состояние становится доступно новым сессиям
yopp
Старые сессии новое состояние не увидят.
yopp
Но сессия wt это не сессия соединения.
Анатолий
а есть команда на обрубание старых сессий коннектов - чтобы завершили запросы и открылись заново?
yopp
Нет, опять-же это не ваша забота.
yopp
Это просто архитектура хранилища
Анатолий
ага. только в доках об этом нюансе ни слова =((
yopp
Ваша проблема либо в каком-то специфичном баге в монге (маловероятно, но вы можете это проверить обновившись 3.6) либо в запросах/кешировании.
Анатолий
вот про кэш ещё верится ))
yopp
Не в монге, а в вашем приложении.
yopp
Монга не даёт вам никаких низкоуровневых ручек. Они вам не нужны.
yopp
Монга гарантирует вам целостность представления только в рамках одного документа.