Veaceslav
Dmytro
@sllavvicc может оффтоп но все же
Dmytro
смотри я видел в строке url есть знак ? & %
Dmytro
city === Moscow?
Dmytro
@sllavvicc да спасибо очень а %
Veaceslav
Я вроде как не видел такого параметра
Veaceslav
Есть %20 что говорит о том что там есть пробел
Veaceslav
Dmytro Klekots = как ссылка будет Dmytro%20Klekots
Dmytro
понятно за один час понял больше чем за 2 недели курса))
Veaceslav
Бывает у меня с GoLang такая же фигня была. Но про это тут не нужно говорить. Тут все о MongoDB :)
Dmytro
а вот елементарный вопрос
Dmytro
throw и catсh не совсем работают так как мне надо
Dmytro
вот я удаляю пользователя которого нет в базе
Dmytro
и catch не сработал
Veaceslav
module.exports.Remove = async function(req, res) {
try {
await Product.remove({
_id: req.params.id
});
res.status(200).json({
message: "Product removed"
});
} catch (e) {
errorHundler(res, e)
}
}
Dmytro
понял)))
Dmytro
а вот смотри видел передают id
Veaceslav
Если что errorHyndler это у меня function
Dmytro
но Монго шыфрует его же
Dmytro
как можно найти _id : req.params.id если он daidhaisdh123112doiasdoasd4324234
Dmytro
например
Veaceslav
В смысле ?
Veaceslav
Для того что бы удалить ?
Veaceslav
GET: /users/ = что даст тебе всех users, там есть _id копируем его и потом
DELETE: /users/daidhaisdh123112doiasdoasd4324234
Dmytro
ааа воттт
Veaceslav
Если делать руками.
Dmytro
как же елементарно епта)))
Dmytro
@sllavvicc зайди в приват есть 1 вопросик к тебе не по монго
Dmytro
@sllavvicc ты знаком с JWT?
Dmytro
@sllavvicc смотри пишет все норм но, в базе нету людей
Dmytro
Veaceslav
Dmytro
@sllavvicc удаляет пользователя которого нет в базе
Veaceslav
Veaceslav
И опять у тебя router не правильно
Dmytro
почему?
Veaceslav
Потому что нужен /:name
Dmytro
ок ща попробую
Dmytro
Ну а мне надо например не по id найти
Dmytro
а по имени удалить
Dmytro
Не понимаю как ловить ошыбку
Dmytro
кто подскажет
Avin
Кто с mongoose работал? Кароче вопрос. Я выгрузил сущность из базы. Как правильно потом к ней подгрузить связанные сущнсти. Пример:
const note = await Note.findById('some_id_here');
... прошли некоторые действия и понадобилось добавить еще в сущность note данные из связанных коллекций ...
note = await Note.findById(note._id).populate('files');
вот тока такое решение пока получилось. Можно сделать как то более изящно не запрашивая вновь загруженную сущность note?
Avin
как то так не прокатит? note = await note.populate('files')?
CherryTea
наверное самый частый здесь вопрос но я не смог нагуглить ничего что сработало бы:
я беру некоторый массив юзеров из монги
const users = await User.find();
и хочу некоторые поля удалить перед тем как венуть результат.
Как мне проинтерироватся по нему?
CherryTea
мангус возвращает конечно же не массив а здоровый обьект
Avin
CherryTea
CherryTea
я хотеть что-то типо User.Find().toArray()
Oleg
????
Oleg
Лол
Oleg
find() и так массив возвращает
CherryTea
find() и так массив возвращает
ну как бы да, массив вида:
[
{
1000FiledOfInternalMongoStaff,
...
_doc: {
данные из бд которые мне нужны
}
}
]
CherryTea
я конечно и по _doc технически могу влезть. но не спроста же его обозначили как приватное поле
Avin
вот пример: await User.aggregate([{ $match: { _id: ИЗВЕСТНЫЙ_ИД }}, { $project: { _id: 1, name: 1 } }]);
Avin
выберет пользователя по указанному ИД и оставит только поля _id и name
CherryTea
CherryTea
спасибо
Юрий
Доброго времени суток!
Подскажите пожалуйста, как при findOneAndUpdate не удалять уже существующие поля в nested объекте, если модель пришла без них?
Пример
const userSchema = new mongoose.Schema({
email: { type: String, unique: true, lowercase: true, trim: true },
password: String,
info: {
name: String,
surname: String
age: Number
}
});
если отправить например без age, то в базе age вообще пропадает
{
email: мыло,
password: пароль,
info: {
name: Имя,
surname: Фамилия
}
}
Daniil
как ты обновляешь? Если через $set, то таких проблем не должно быть
倫太郎
@dd_bb
倫太郎
может моего бота от рекламы поставим?
went
倫太郎
А есть?
суть сообщения в "моего бота"
倫太郎
т.е. написанного мной
倫太郎
уже в двух чатах работает, рекламу ловит
3к + 1к юзеров в них
Nick
в чате ноды? и еще какомто?
Anonymous
mapReduce можно использовать, Чтобы пройтись по коллекции и попутно обновлять существующие документы, не создавая новых коллекций?
Nick
Нет
Nick
В мапредьюсе отсутвуют способы взаимодействия с бд
Nick
Либо простой апдейт для одногородных изменений, либо вытащил док, поменял, сохранил
Nick
Если устраивает чахорда с переименовыванием коллекций и нужно менять прям вообще сильно данные, то можно брать мапредьюс, но лучше уже пользовать aggreation framework
Anonymous
Nick
задача разовая?
Nick
и ест ьли требование по доступности? т.е. допустимо ли временно остановить приложение либо работу с бд. или может есть время дня, когда нет запросов к бд?
Anonymous
Nick
тогда прогоняйте свой мапредьюс в новую коллекцию, дропаете старую, переименовываете новую в старую