yopp
Или изобретать какие-то маркеры для миграции, что очень сложно, особенно если документы не только добавляются, но и обновляются
Valdis
Самый надежный вариант это поднять репликацию
Там в чем проблема. Не просто физически, а допустим есть на одном серваке бд с названием a и там 3 коллекции. На другом серваке бд b и там 7 коллекций. После миграции должна быть только b и там 10 коллекций включая все данные из бд a
yopp
Как мне кажется, в этом случае самый простой вариант это обеспечить доступ к базам на время миграции, остановить запись обе базы, сделать дампы, восстановить дампы на новом сервере, если нужно всё дампы слить в базу с одним названием то указать необходимые флаги при восстановлении дампа
yopp
Ваш скрипт миграции при всех раскладах это попытка по новому изобрести mongodump из-за административных ограничений. Это очень дорого и вероятнее всего не даст гарантии консистентности данных. Дешевле временно снять административные ограничения и вопспольвоватться штатными инструментам
Valdis
понял. спасибо
Anonymous
можно делать дамп во время записи в базу?
Nikolay
Насколько хороша идея ресторить дамп монги 3.6 на 4.0 сразу?
yopp
Нормальная
Nikolay
Тэкс, а почему может такой еррор лог быть в процессе рестора?
error: EOF
Не очень информативно
Nikolay
Anonymous
Nick
так там нет информации
Сейчас перепроверил есть, в двух словах есть опция позволяющая во время дампа сохранять дельту изменений. Возможно сайт лагает попробуйте еще
Anonymous
Anonymous
как опция называется
Nick
Сегодня у меня тож та страница не сразу грузанулась. Но с мобилы вск ок. Опция --oplog
Anonymous
Anonymous
C# Driver. Можно ли вернуть созданный Id при вставке InsertOne/InsertOneAsync ?
Или какой-то другой метод использовать ?
Синхронный - void
Асинхронный - Task
Anonymous
http://mongodb.github.io/mongo-csharp-driver/2.10/apidocs/html/M_MongoDB_Driver_MongoCollectionBase_1_InsertOneAsync_1.htm
Anonymous
Можно, но незачем. Mongo сама всё делает. И даже возвращает его. Вопрос конечно к драйверу.
Anonymous
Байтики все равно полетят либо в одну сторону, либо в другую.
Dmitriy
но можно избежать того чтобы они в обе бегали) но это уже холивар не по теме канала)
Vova
Vova
В драйвере C#
Anonymous
Автоматически не создаётся и не зачем. Можно создать и отправить, только вот тоже незачем.
Vova
Vova
Просто факт - если ты в модельке не задашь айди вручную, то запишет в бд с айдишником null, 0, ObjectId("0000000000...") и т.д.
Anonymous
Если в моделе не запишешь id, Монга в любом случае в документе создаст свой id, а вот при чтении этой модельки ты получишь ошибку, что такого поля у тебя нет.
Vova
Vova
Но вот прочитать ты его уже не сможешь
Vova
Либо попробуй ещё написать так
[BsonIgnoreIfDefault]
public ObjectId Id { get; set; }
Anonymous
нет, поле id ,я счиатаю в моделе обязательным.
Вопрос про запись документа, и возврат его соданного значения id в Монго.
Vova
Оно так не работает
yopp
Anonymous
ок, спасибо
yopp
Многие драйвера/odm делают это автоматом
yopp
$or отражает вашу формулировку запроса. Почему такой запрос вас не устраивает?
yopp
у вас в условии «либо», что синоним «или» ($or). Такие запросы эффективнее всего писать так, как они звучат на языке бизнес логики. Потом легче будет понять :)
Vitaly
Добрый вечер, подключаюсь к mongo с помощью параметров все ок
mongo --tls --tlsCertificateKeyFile /mongodb/nopasswd.pem --tlsCAFile /mongodb/CAcerts.pem --host 127.0.0.1:27017 --authenticationDatabase admin
с помощью uri
mongo "mongodb://127.0.0.1:27017/?authSource=admin&tls=true&tlsCertificateKeyFile=/mongodb/nopasswd.pem&tlsCAFile=/mongodb/CAcerts.pem"
ошибка
SSL peer certificate validation failed: self signed certificate in certificate chain
Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed: SSLHandshakeFailed: SSL peer certificate validation failed: self signed certificate in certificate chain
подскажите, в чем может быть причина?
yopp
yopp
Либо там не вся цепочка
yopp
Либо у вас на сервере вашего CA нет в списке
yopp
Не помню точно
yopp
Короче с какой-то стороны цепочка подписей не верифицируется
yopp
Логичнее всего что на сервере, наверное
Anonymous
да чеж такое почему mongodb это ваш падает..
Anonymous
гик озу
Anonymous
cacheSizeGB: 0.3
Anonymous
что еще можно сделать?
madspectator
Anonymous
В логи посмотреть.
2020-01-16T21:27:10.605+0000 I NETWORK [conn1] end connection 127.0.0.1:34290 (0 connections now open)
2020-01-16T21:27:12.515+0000 I STORAGE [signalProcessingThread] shutdown: removing fs lock...
2020-01-16T21:27:12.532+0000 I CONTROL [signalProcessingThread] now exiting
2020-01-16T21:27:12.532+0000 I CONTROL [signalProcessingThread] shutting down with code:0
Anonymous
я так понимаю сама какая-то служба убивает, когда видит что озу на хосте закончился
Anonymous
что с этим делать?
Anonymous
как можно нормально ограничить использование озу? почему в начале оно жрет не так много, а потом всю память забирает?
madspectator
Монга жрёт память, когда вы обращаетесь к данным, она подгружает в память сами данные, а также индексы.
Anonymous
Anonymous
что с этим можно сделать?
Anonymous
мне не нужны данные в памяти
madspectator
С чем с этим? Надо понять для начала, почему mongodb прекращает работу.
Anonymous
Anonymous
и ос убивает его
Anonymous
потом что памяти нет в системе
Anonymous
как с этим бороться?
madspectator
Как вы поняли, что ОС убивает mongodb? Вы увидели это в логах где-то?
Anonymous
Egor
Anonymous
yopp
Egor
так вы сами говорите, вам только на вставку
Anonymous
ну я не менял настройки, значит есть
Anonymous
да
Egor
ну при вставке монга может дергать индексы
а те в памяти висят
yopp
cacheSizeGB: 0.3
Эта ручка не гарантирует ничего, кроме того что объём памяти под кеш будет указанного размера
yopp
В монге нет инструментов ограничения памяти.
yopp
В контейнере не будет оом, плюс если контейнеру выделить квоту на память, то оом в рамках этой квоты не должен её отстреливать
Anonymous