• Как правильно связать два объекта в Mongoose (MongoDB)?

    @dimonnwc3
    Во первых:
    user: user._id - сохранять надо не сам айди в строке, а mongoose ObjectID
    Так гласит схема "user: { type: mongoose.Schema.Types.ObjectId, ref: 'User' }"

    Но mongoose немножко умный, поэтому можно в user вставлять самого юзера полученного при запросе из базы, а mongoose сам добавит корректый ObjectID в поле.
    Важно, чтобы user был именно mongoose объектом со всеми методами, а не очищенный plainobject.

    Далее в монго нету foreign key, поэтому такие схемы как выше не желательны. Где юзер ссылается на стори, а стори на юзера. Получается при любых операциях со стори, надо апдейтить юзера и обратно. А это 2 запроса.

    Тут либо в user пишется массив story либо, либо каждой story присваивается создатель.
    Т.е либо родитель имеет инфу о ребенке, либо ребенок о родителе, НО не то и другое вместе.

    Какой способ лучше, зависит от конкретной ситуации, нужно смотреть какая информация и как выводиться чаще.

    Я бы предпочел хрнаить в каждой story userid. А user оставить пустым.
    Ответ написан
    2 комментария
  • Как можно скрыть ошибку в консоли?

    @karambafe
    401 - нормальный ответ сервера на неправильные данные при авторизации.
    MDN:
    Код ответа на статус ошибки HTTP 401 Unauthorized клиента указывает, что запрос не был применен, поскольку ему не хватает действительных учетных данных для целевого ресурса.


    Скрывать не нужно, так как консоль предназначена для разработчика (не зря в хроме раздел называется Chrome DEV tools), а не для пользователя. По таким ошибкам самому же будет намного проще дебажить.
    Пользователю же важно вывести понятную ошибку в интерфейсе.
    Ответ написан
    Комментировать