Я очень новичок в реагировать на .js, но реагируем, выражаем и монго дБ - довольно прозрачные и простые для понимания вещи. Самая большая проблема - избыточность: я не могу понять, что это такое и для чего было создано.
Я скопировал и поиграл с кодом из github , который отлично работает. Теперь я хочу добавить историю входа. Так что в backend
я расширил models/User.js
модель, а в /backend/routes/user.js
каждый раз, когда пользователь входит в систему, теперь я добавляю запись в базу данных. Я вижу, что это на самом деле работает в базе данных (в средстве просмотра промежуточного программного обеспечения mongo). Но теперь я хочу показать это в реагирующем интерфейсе - и здесь все странно. Вместо того, чтобы просто предоставлять запись в базу данных, как это обычно делают, все обертывают и скручивают в совершенно непонятном Redux, и я получил только такой способ передачи данных (см., Например, компонент frontend Navbar.js):
const {isAuthenticated, user} = this.props.auth;
Откуда приходят эти user
данные? Он имеет name
, email
, поэтому я могу отображать электронную почту или имя пользователя, извлеченные из базы данных. И даже пара неизвестных идентификаторов, таких как "iat": 1237752067, "exp": 1237755667
: текстовый поиск по файлам не смог найти, откуда взялся этот iat
- никаких ссылок в исходном коде. И этому user
объекту не хватает некоторых полей из реальной пользовательской модели на сервере.
Как я могу отправить историю входа или дополнительные поля из базы данных во внешний интерфейс? (например, я хочу войти в консоль браузера, из файла Navbar.js)
ТЛ; др
Используется github ссылка с источниками.
Изменено Модель пользователя :
const LoginSchema = new Schema({
date: {
type: Date,
default: Date.now
},
ip: String
});
добавил поле loginList: [LoginSchema]
к UserSchema
добавлено действие регистрации в внутренних маршрутах , в разделе router.post('/login', (req, res) => {
:
var myIP = req.headers['x-forwarded-for'] || req.connection.remoteAddress;
user.loginList.push({ip: myIP});
user.save();
СЕЙЧАС я хочу получить это loginList
из базы данных во внешний интерфейс, прямо к файлу navbar , ошибка здесь: console.log(user.loginList);
у пользователя нет поля loginList, оно будет неопределенным. Там сидят излишки, это совершенно неизвестно для меня, и все следы потеряны отсюда. Нужна помощь для передачи этих данных из базы данных на веб-интерфейс.