Roman
Roman
Vladimir
Всем доброго дня! Не могу найти емкую и актуальную информацию по шардингу, можете поделиться?
Цель - есть база большая на репликасет, хочу поднять тестовый стенд с шардинг+репликасет и загнать туда текущие данные для теста.
Если по инстансам с данными понятно, то вот с mongos и config еще не вкурил. Прошу палками не бить ^_^ И заранее премного благодарен!
Ярослав
Vladimir
Vladimir
Ярослав
Oy) Nice)
Andrey
коллеги, завис в размышлениях: В коллекции документы, в каждом документе есть поле idents - array, внутри массива - также документы(json), как выбрать только те документы у которых значения полей в документах внутри array - равно каком-то значению. И что в выборке были документы в array которых только нужны, а не все, что есть в array
Andrey
да, спасибо, уже почитал через aggregate, unwind и match
Вячеслав
Добрый день , запускаю контейнер с mongo , монтирую папку с базой в var/lib/mongodb , подключаюсь через графического клиента и он не видит базу
Andrey
Вячеслав
Если правильно понимаю то нужно через restore
Вячеслав
Failed: error scanning filesystem: invalid database name 'diagnostic.data': illegal character '.' found in db name 'diagnostic.data'
Вячеслав
Сейчас выдаёт рестор это
I
Всем привет. Есть две коллекции:
//collection Foo
{_id: 1, name: "A"}
{_id: 2, name: "B"}
{_id: 3, name "C"}
{_id: 4, name "D"}
//collection Bar
{_id: 11, foo_ids: [1, 3]}
{_id: 22, foo_ids: [1, 2]}
Как получить? :
//collection Result
{foo_id: 1, bar_ids: [11, 22]}
{foo_id: 2, bar_ids: [22]}
{foo_id: 3, bar_ids: [11]}
{foo_id: 4, bar_ids: []}
Андрей
Привет, как очистить из всех записей через uodateMany() поле с массивом? к примеру есть в записи поле dates: [1,2,3], как сделать его []?
Nick
Андрей
Nick
{$pullAll: [0,0]} так?
db.getCollection('array').update(
{ },
{
$push: {
arrayField:{
$each: [ ],
$slice:0
}
}
},
{ multi: true }
)
Андрей
А через updateMany не получится?
Nick
updateMany это врапер над { multi: true }
Nick
так что поулчится
Андрей
Оке) спасибо)
Андрей
так что поулчится
Все ок, но теперь встал вопрос, как брать из бд только те записи, где array.length более 0...
Андрей
collection.find({ field: { $size: 1 } });
Андрей
Но это только для длинны 1
Андрей
а у меня от 1 до 10 к примеру
Андрей
а все записи разом дергать такое себе
Nick
Андрей
Андрей
"dates":"{$exists":true}
Askhat
Через $expr
Askhat
$lt, $gt
Askhat
$gt: [{$size: ‘$x’}, 0]
Андрей
.find({$expr: {$gte: [{$size: "$dates"}, 0]}});
Андрей
Оно?
Askhat
Да можно так
Андрей
"$dates" у меня поле называется dates
Андрей
через знак доллара пишется?
Андрей
MongoError: The argument to $size must be an array, but was of type: missing
Вячеслав
Добрый вечер писал выше , наверное не совсем корректно сформулировал,извиняюсь , у меня есть сервер , на нем крутится докер с контейнерами , один из контейнеров это монгодб, моя задача хранить базу монго контейнера не в контейнере, а на сервере и при необходимости если этот контейнер удалил, и сделал новый , чтоб он также цеплял базу и тоже хранил не в контейнере , а на сервере
Sergey
Добрый вечер писал выше , наверное не совсем корректно сформулировал,извиняюсь , у меня есть сервер , на нем крутится докер с контейнерами , один из контейнеров это монгодб, моя задача хранить базу монго контейнера не в контейнере, а на сервере и при необходимости если этот контейнер удалил, и сделал новый , чтоб он также цеплял базу и тоже хранил не в контейнере , а на сервере
https://docs.docker.com/storage/volumes/
Андрей
Добрый вечер писал выше , наверное не совсем корректно сформулировал,извиняюсь , у меня есть сервер , на нем крутится докер с контейнерами , один из контейнеров это монгодб, моя задача хранить базу монго контейнера не в контейнере, а на сервере и при необходимости если этот контейнер удалил, и сделал новый , чтоб он также цеплял базу и тоже хранил не в контейнере , а на сервере
А поставить на сервер и дать доступ контейнеру нельзя?
Вячеслав
https://docs.docker.com/storage/volumes/
Рассматривал, но когда стартую контейнер он складывает в data/db , a её смонтировать не даёт и при смене контейнера он не цепляет я как понимаю просто директории , нужно через что то вроде , нет ?
Вячеслав
WolderVsrat
WolderVsrat
Вячеслав
I
Всем привет. Вопрос. Почему даже при явном указании сохранить id как String, он сохраняется как ObjectId
в модели:
@Id
var id: String = ObjectId.get().toHexString()
В бд:
"_id" : ObjectId("608262140551b11f7214c4a4")
Vladislav
I
I
он определяет по id что это именно ObjectId
I
_id = "6082695e034485552abe065e"
I
сохраняет как ObjectId
I
_id = "a6082695e034485552abe065e"
I
сохраняет как String
I
проблема в том, что у нас бд, и там де факто стандарт ID должен быть как стринг
Иногда нужно делать такую вещь
{$in: ["$some_id", "$$array_id"]}
так не работает, т.к some_id - ObjectId приходится громоздить
{$in: [{$toString: "$some_id"}, "$$array_id"]}
Вячеслав
Dmitriy
Коллеги, подскажите пожалуйста.
Вот есть коллекция заказов.
у нее есть e-mail , id продукта и статус
Мне нужно вытащить все записи у которых
Статус в обработке, но при этом если есть заказ с таким же email и id продукта со статусом оплачен, то не выводить
Dmitriy
Для примера:
email1@example.com, 1231, pending
email1@example.com, 1231, success
тогда мы не трогаем данные записи
email2@example.com, 1231, pending
email2@example.com, 1231, pending
Тогда делаю группировку по email и idпродукта
Dmitriy
То есть, по сути, мне нужно отфильтровать те записи у которых одинаковый емейл и одинаковый id продукта и если у него есть статус success то не выводим
Arams
доброго дня, народ подскажите пожалуйста есть ли способ сохранить дату в монго без таймзоны? мне нужно просто хранить дату типа 02-02-2020 что бы потом делать выборку между двумя датами
Vladislav
Vladislav
Кирилл
Доброе утро
скажите плз, в какую сторону гуглить, чтобы решить проблему больших файлов?
collection-8-1898404349170122557.wt - 102 гига
collection-2-1898404349170122557.wt - 105 гигов
цель - делить как то файлы на более маленькие в пределах одного сервера mongo
yopp
А с какой целью вы хотите их делить?
Viktar
Daniil
Viktar
Название коллекции поставлялось в запрос зависимости от параметров
yopp
«расскажи мне про шардинг не говоря что это шардинг» 🤪