Anonymous
Вопрос, есть запрос который ищет записи в архиве больше или равно заданной даты
Но надо как-то найти последнюю запись меньше или равно такой записи но еще с полем frt если оно есть. lte надо юзать, но дальше как -то надо отсортировать и найти первое с frt
db.getCollection('archive').
find({_d: { '$gte': new Date('2020-11-20T11:30:10.876Z') }})
Такое не канает
db.getCollection('archive').
find({_d: { '$lte': new Date('2020-11-20T11:30:10.876Z') }}).
sort({_d: -1}).
findOne({ 'frt': { $exists: true }})
пишет findOne не функция
ASPIRIN
ASPIRIN
такое хочешь?
Dmitriy
Коллеги, кто не спит, подскажите, в чем тут косяк? не срабатывают проджекшены и выводяться все данные вместо указанных полей
usersCollection.find(
{_id: {$in: userIds}},
{_id: true, login: true, email: true, account: true, password: false})
.toArray();
Anonymous
Всем неспящим ку, кто может подсказать по сортировке, буду признателен
Anonymous
{
"_id" : ObjectId("5fb867c7183ae30e1b16c24f"),
"project_id" : "5fb86719cdbd11b8ad600af1",
"admin_telegram_id" : 0,
"comment" : "Топчик реклама",
"on_sale" : true,
"conditions" : [
{
"advertising_type" : "pinned_ad",
"duration" : 144,
"price" : 100000,
"currency" : "RUB"
},
{
"advertising_type" : "advertising_in_description",
"duration" : 720,
"price" : 70000,
"currency" : "RUB"
}
]
}
Anonymous
интересен массив conditions, в нем два объекта с разными advertising_type
Anonymous
запрашиваю подобным образом
db.advertisings.find({"conditions.advertising_type":"advertising_in_description"}).pretty()
Anonymous
как можно сделать, что бы монга в массиве первым элементом отдала condition где advertising_type — advertising_in_description ?
Anonymous
буду оч. признателен совету)
Roman
Доброе утро, посоветуйте пожалуйста курс на YouTube по базам?
Daniil
no
Roman
Яблоко
User.updateMany({_id : userCreds.userId}, {$set: {services : {online:false}}},()=>{
})
Как обновит отдельное поля у объекта, а не перезаписать его полностью ?
Nick
Roman
🔰ш
Есть документы, у которых есть свойство holders, которое является массивом из объектов holder вида {user, part}
Как сделать выборку из всех документов, у которых holder с максимальным part имеет user = userId
🔰ш
Lev
Как найти почему монга жрет 100% цпу?
Anonymous
Lev
read по 2866ms есть
Anonymous
Да, похоже что индексов не хватает.
Lev
Да
Lev
Индекс можно делать наживую?
Anonymous
Да, с { background:true } можно.
Anonymous
В логах запросы не по индексам должны быть видны если что.
Lev
Anonymous
Да
Lev
А вот какие поля надо в индекс втыкать... https://www.developer.com/db/indexing-tips-for-improving-your-mongodb-performance.html
тут написано что тупо все поля в поиске
Anonymous
Ну если это возможно, то можно и все поля в поиске. Еще есть правило match, sort, range. Т.е. сперва в индексе указываем все поля точного совпадения, потом поля по которым сортируем и потом поля с диапазоном значений.
Anonymous
В твоем случае как я понимаю только сортировка и лимит в 20 первых в условии. Тут достаточно на поле сортировки индекс создать.
Lev
Как мне понять, насколько один индекс лучше другого? Насколько монга умная чтобы выбрать лучший индекс? Она ж сама выбирает индекс, как я понимаю. Что если я создам несколько индексов для нее - она сама выберет наилучший вариант и остальные я смогу удалить?
Anonymous
Да, можно создать несколько, монга будет периодически пробовать все индексы-кандидаты и выбирать самый быстрый для данной формы запроса. Потом можно взглянуть на статистику использования индексов и удалить неиспользуемые.
Lev
Lev
Lev
Наверно по параметрам явно не подходят
Anonymous
А какой индекс в итоге создаешь для примера выше?
Anonymous
Команда на создание индекса так понимаю отработала уже.
Lev
Lev
Что меня смущает в примере выше, это то, что я в коде не могу найти поиска только по serial. Есть по serial и eventTime. Но не отдельно по serial. (Запросы правда автогенерятся фреймворком, но все же)
Lev
И индексы отдельно на eventTime и на serial - могна использует
Anonymous
Lev
Lev
@RaZiELLEiZaR Огромное спасибо за помощь
Владислав
Всем привет. Может кто знает, почему массив далее второго уровня вложения не отображается и не парсится нрмально?
Владислав
Владислав
Переделал в массив объектов, а не просто массив значений. Теперь в браузер нормально парсит
Revival
Подскажите пожалуйста. Каким образом одним запросом обновить, допустим, поле username, а также добавить/редактировать socialLinks элемент? (mongoose)
User.findOneAndUpdate(
{ _id: req.user.id },
{
username: "newUserName",
// как добавить/редактировать socialLinks элемент?
},
{ new: true },
(err, doc) => console.log(err,doc)
)
Илья
есть модель пользователя
{"stats": [{chat: Integer, messages: Integer}], ...}
как отсортировать статистику пользователей в определенном чате по messages?
Илья
т.е. в моделе пользователя хранится его статистика по н-числу чатов, надо агрегировать по определенному чату статистику
Lev
Если постоянно делать одинаковые запросы или один и тот же запрос - монга не будет пытаться оптимизировать это? Может даже индекс?
Nick
Anonymous
Всем привет. Нужна помощь, оплачиваю.
Есть бот в ТГ, он высылает расписание. Для него нужно сделать базу данных на монге. Чтобы база данных была на локалхосте
Bogdan
🚀
Всем привет! Подскажите, пожалуйста, почему mongo в запросе Model.find({_id: {$in: [ids]}}) возвращает масив только с одним документом. Следует учесть что масив [ids] имеет 6 одинаковых айди. Может ли это быть причиной такого поведения? Что-то вроде автоматического distinct
Bogdan
🚀
.
подскажите как в mongoose найти по дате, не опираясь на время?
.
мне вот нужно найти по полю, в котором тип Date
завтрашний день
.
хоть 23:59 хоть 0:01
Lev
А ведь по идее на любой запрос хорошо бы делать индекс?
Lev
Но, если на запрос нету индекса - будет долго же.
Nick
бесплатно ничего не бывает, всегда трейдофы
Lev
Как понять, можно ли использовать существущий индекс?
Nick
Но, если на запрос нету индекса - будет долго же.
если нету - то пишите SLA на время ответов ваших сервисов для клиентов, настраиваете мониторинг времен ответов собираете стату, смотрите где вылезаете за SLA и тюните, и тюните не обязательно за счет индексов, а может за счет другимероприятий по оптимизации ПО например
Lev
Например мне надо искать по полю А и Б а так же рядом я иду только по А. Можно ли использовать один составной индекс А и Б? Важен ли для монги порядок? Важна ли сортировка?
Lev
ПО и так заоптимизировано чтобы в базу не лезть
Nick
Nick
Anonymous
Привет, кто-то знает визуализаторы схем монги, типо чтобы показывало схемы, можно было там добавлять в них, короче проектировать
Valery
А компас не умеет?