Мечтатель
Max
Привет! как в монге работать с датами? вот насколько я понял - она хранит их в потрохах в ютс, но возвращает - в изо..
Nick
так одно и то же
Nick
а его и в ютц нет
Nick
и да монга не хранит часовые пояса, если оно вам нужно заморачивайтесь отдельно какнить) это позиция монго
Max
Мечтатель
ну можно самостоятельно отдельно таймзону хранить
Мечтатель
как вариант
Max
Aga
welcome pizza hunter
Артём
А какое дефолтное значение можно записать в mongoose.Schema.Types.ObjectId?
Пробую null - ругается
Nick
а зачем в него записывать?
Артём
Не стоит?
Артём
Получается поле пустое будет)
Артём
А так хоть понятно что оно есть и null
Nick
не, создаете ObjectId и указываете его
Nick
если это поле _id, то его явно указывать не нужно. если другое поле, то нужно брать OID другой записи
Nick
а не просто создавать бездумно их
Anonymous
подскажите, есть схема в монгусе со следующем полем: { person : [{ name : String, link : String }] } , в неё залил данные, нормально залилось, но на каждый такой вложенный документ создалось отдельное _id . Во-первых не совсем понятно, почему, а во-вторых как это убрать?
Nick
Anonymous
Nick
Потому что вы нп знаете как работает монга
Nick
В монге все доки, то что вам монгус дает абстракции - это лишь сахар
Anonymous
Nick
Имел ввиду сущности, поля они и в африке поля, они тоже могут быть доками/объектами. Собственно как выше написали поиграйтесь ручками с бд, чтобы иметь представление о внутрянке
Constantin
Nick
Поле _id убрать нельзя, оно всегда есть на уровне бд, то что вы его не будете отображать оно от этого не удалитсч
Constantin
Nick
Я и говорю, что это механизм связывания доков, а не "для удобства", нужно разделять сахар и то без чего работать не будет
Constantin
Anonymous
Nick
если вам нужно сохранить именно вложенный объект, то не используйте объекты, описываемые схемой
Constantin
Nick
Nick
Anonymous
Nick
Anonymous
объекта описаны схемой монгуса?
описаны внутри одной и той же схемы. выше присылал, как выглядит поле.
:person : [{ name : String, link : String }]
Nick
как выглядит поле - это как фарш - его уже не провернуть назад, чтобы понять как вы описываете схему
Constantin
причем тут связывание объектов, человек просто хочет, чтобы у него была проверка полей в массиве
Anonymous
Constantin
Если схема все таки нужна, можете так убрать
Constantin
Nick
После этого вы указываете другим на фундамент?
Да, есть касяк, полез разбираться и понял что почемуто держу в голове только схему с рефами, а поддокументы напрочить выкинул. Походу сказывается постоянная работа с реляционками и хибером
Павел
Коллеги, подскажите пожалуйста оптимальное решение:
есть шардированный кластер из нескольких репликасетов, в кластере есть и шардированные и нешардированные коллекции, в него был добавлен новый пустой репликасет, есть задача перенести одну нешардированную коллекцию в новый репликасет (в БД из которой забирается коллекция есть другие коллекции и они должны остаться на старом месте).
Max
Привет! Насколько глупо делать следующее:
UsersSchema.index({
'driver.status': 1,
});
UsersSchema.index({
roles: 1,
});
UsersSchema.index({
phoneNumber: 1,
});
UsersSchema.index({
roles: 1,
searchId: 1,
phoneNumber: 1,
createdAt: -1,
});
то есть у меня одни и те же поля лежат в компоунд индексе и в обычных
Анатолий
место под индексы жалко?
Constantin
Привет! Насколько глупо делать следующее:
UsersSchema.index({
'driver.status': 1,
});
UsersSchema.index({
roles: 1,
});
UsersSchema.index({
phoneNumber: 1,
});
UsersSchema.index({
roles: 1,
searchId: 1,
phoneNumber: 1,
createdAt: -1,
});
то есть у меня одни и те же поля лежат в компоунд индексе и в обычных
Привет! Все зависит от вашей задачи, если вы будете на чтение использовать все 4 индекса, то не глупо.
Но учтите, что чем больше индексов, тем сложнее вставка/обноление/удаление
Анатолий
если не жалко - то не глупо.
обязательное требование - ты будешь эти индексы юзать
Max
Max
а насколько влияет 1/-1 на идекс?
Max
если я допустим буду деалать асендинг сортировку, а индекс = -1 - что будет?
Max
индекс заюзается?
Max
такой ещё вопрос - если в коллекции уже есть документы без индекса, а потом я добавляю индекс - старые документы будут переиндексироватся?
Constantin
-1 и 1 не влияет на заюзается/не заюзается
Constantin
Constantin
-1 и 1 влияет на порядок сортировки записей в индексе и их подбирать нужно от запросов, и что за данные у вас там хранятся
Max
Max
спасибо) и последний вопрос:
я вообще сделал агрегации, и на основании их - сделал бд-вьюшки. Они подхватывают индексы коллекций?
Nick
а насколько влияет 1/-1 на идекс?
влияет только в запроса со сложной сортировкой по нескольким полям - индекс будет использоваться только если все направления и совпадают. например, индекс по трем полям
{
"p1" : 1,
"p2" : 1,
"p3" : 1
}
то он будет использовать для запросов с сортировками
{
"p1" : 1,
"p2" : 1,
"p3" : 1
}
{
"p1" : 1,
"p2" : 1
}
{
"p1" : 1
}
но не будет использован для
{
"p1" : 1,
"p2" : 1,
"p3" : -1
}
{
"p1" : 1,
"p2" : -1,
"p3" : 1
}
{
"p1" : 1,
"p3" : 1,
"p2" : 1
}
в последнем примере поменяны местами p3 и p2
Max
влияет только в запроса со сложной сортировкой по нескольким полям - индекс будет использоваться только если все направления и совпадают. например, индекс по трем полям
{
"p1" : 1,
"p2" : 1,
"p3" : 1
}
то он будет использовать для запросов с сортировками
{
"p1" : 1,
"p2" : 1,
"p3" : 1
}
{
"p1" : 1,
"p2" : 1
}
{
"p1" : 1
}
но не будет использован для
{
"p1" : 1,
"p2" : 1,
"p3" : -1
}
{
"p1" : 1,
"p2" : -1,
"p3" : 1
}
{
"p1" : 1,
"p3" : 1,
"p2" : 1
}
в последнем примере поменяны местами p3 и p2
понял! спасибо
Max
просто насколько я правильно понял - индексы не будут юзатся вместе если одно поле - это сортировка, а второй - выборрка
Nick
но при этом для обычного find индекс будет использован для люой комбинации этих трех полей
Nick
именно
Nick
explain() в помощь
Anonymous
Здравствуйте, вопрос - если в папке с mongo нет папки rollback, значит ли это что нет роллбеков? (3.4)
Anonymous
Доброго времени суток, нужна помощь подскажите как задампить базу монго при этом архивируя каждую базу в одельный архив и использовать сжатие, зарание благодарен
Anonymous
Всем здрасьте.