Nick
сейчас поменяйте в матче на _id: ids
Herman
ооо, получил!
Nick
а теперь без обид, но вам надо разбираться в js
Herman
Nick
с _id да не так все просто, но часть пути связанный с map() и разными типами данных у вас проявляется как будто вы не знаете js
Herman
Herman
Herman
Artem
что за значение blackbox в схеме?
Vladislav
Здравствуйте у меня есть изначальные данные которые у меня находятся в файле (строк где-то 5000), я хочу чтобы они подгружались не с файла, а с базы данных, подскажите как это реализовать?
(Mern stack приложение)
Антон
Если у меня в базу быстро пишется очень много данных,и в итоге у меня часто в приложении вылетает "connect timed out", то это можно пофиксить только увеличение таймаута в приложении? в самой монге ничего не подкрутить?
пытаюсь выяснить в какую сторону копать
Lev
А в монге нельзя самому построить индекс? Не просто поля передать а сказать что с ними сделать для построения ключа индекса. Ну типа map функцию передать.
Nick
Максим
Viktar
Посмотрите настройки драйвера
Google
Всем привет в mongodb у меня не работает ->
User.findOne({ $or: [{ lsn: email }, { email }]}).populate('roles');
Только работает по lsn: email а когда хочу найти по { email } не работает как можно исправить ?
Viktar
может тогда надо { email: <email>} вместо { email }
Google
Google
Google
Viktar
db.inventory.find( { $or: [ { quantity: { $lt: 20 } }, { price: 10 } ] } )
Viktar
https://docs.mongodb.com/manual/reference/operator/query/or/
Google
я делаю логин по номеру или по email
Google
но через or только могу делать по номеру
Google
мне нужно сделать совпадение по номеру или по email как могу сделать через findOne or ,?
Viktar
я не знаю как вы делаете. то что я увидел у вас не правильно записан фильтр для файнд
Viktar
db.coollection.findOne({$or:[{'number': <your number>}, {'email':<your email>}]}
Anatoly
Viktar
Покажите вашу схему и конечный запрос который у вас получился
Google
Anatoly
Да тогда находит
А когда так делаешь db.coollection.findOne({$or:[{'number': <your number>}, {'email':<your email>}]} и не передаёшь number ошибку не выдаёт ? типа не могу проверить совпадение на undefined ?
Google
Anatoly
ну так ты передаёшь email но первый не передаёшь и монга пытаясь по первому условию что то найти должна ошибку выдать о том что у тебя number undefined.
Google
Anatoly
Если пользуешься лодашем то то что тебе надо делается так db.coollection.findOne(omitBy({email, number }, isNil))
Google
И пробовал на барот первый email и потом number и так не работает
Google
Google
А если в number попадает string ? Почему меня на catch выбрасывает а не должно пропустить на email тамже or есть ?
Anatoly
Нет lodash ,не подключал
прежде чем попавть в or ему надо первое проверить а он не может проверить потому что при попытке получает ошибку
Anatoly
вот такую
Anatoly
Google
Ну скажем если у меня в number попадает string он не будет выполнятся так ? Тоист не будет пропускать на email ?
Anatoly
Google
Google
Там всё равно же не совпадает
Google
Anatoly
Там всё равно же не совпадает
он не может проверить совпадает или нет если значение undefined. Ошибку же кинул тебе сверху. сделай так b.coollection.findOne(email ? {emial} : {number})
Google
Artem
Ток что получил ошибку о дублировании уникального поля на методе findOneAndUpdate с upsert: true, это как?
при чем один раз только проскочило
Google
Google
emial is not defined
Google
Cast to Number failed for value "logindemo@gmail.com" at path "lsn" for model "User"
Ростислав ✚
Я делаю интернет магазин, есть коллекция с товарами в которой в документах есть поле с масивом объектов параметров товара, например:
{
"Тип": "Кабели синхронизации"
"Длина кабеля, м": "1 м"
"Разъем 1": "USB Type-C"
"Разъем 2": "USB"
"Цвет": "Черный"
}
У товаров из одной категории могут отличатся типы параметров.
Как по нормальному можно настроить фильтры по параметрам? Вынести по одному представителю параметров в отдельную коллекцию и оттуда подгружать их на страницу а дальше по надобности использовать filter на выборку товаров? Или есть еще какие-то варианты?
Nick
Nick
https://docs.mongodb.com/manual/core/index-ttl/
Nick
да, в самом индексе
Nick
ну когда дата будет достигнута то и удалятся
Nick
ничего не мешает доп полем выставлять явно дату и время удаления и выставить в индексе время в 1секунду, тогда будет полный контроль
Ростислав ✚
Ростислав ✚
Nick
Ростислав ✚
Nick
как привели выше
Nick
хотя может к 4.4 чегото в этом плане поменялось, можете с эксплейном проиграться и глянуть как оно будет индексы использовать
Nick
https://docs.mongodb.com/manual/tutorial/expire-data/#expire-documents-at-a-specific-clock-time
Nick
там пример как раз под ваш случай
Ростислав ✚
Ростислав ✚
Ладно, спасибо, попробую сначала, как оно будет работать в таком виде
Nick
А что такое эксплейн?)
позволяет посмотреть план выполнения запроса
https://docs.mongodb.com/manual/reference/method/cursor.explain/
Ростислав ✚
Irham
Irham
плизочка
🔰ш
Привет! Есть aggregate у которого в одной из стадий делается addField с результатом cond. Результат cond это объект. Как сделать чтобы addField установил именно поле из этого объекта, а не объект целиком?
🔰ш
Условно, получается во так, а хотелось бы чтобы price имел значение price.price
Nick
🔰ш
aggregate пайплайн выдает пустоту, когда последним этапом вот это
🔰ш