Как правильно использовать MongoDB для хранилища пользовательских моделей Strongloop?
Я новичок в Strongloop и новичок в MongoDB. Так много кривых обучения происходит прямо сейчас.
Моя основная проблема заключается в том, что я переключил источник данных модели пользователя (models.json) с разъема памяти на разъем loopback-connector-mongodb, и у меня больше не появляется идентификатор пользователя при вызове / входе в систему. Я получаю обратно accesstoken, но userID является нулевым. Если я вернусь к разъему памяти, я получу идентификатор пользователя 1 или что-то еще.
Кажется, я помню, что где-то читал, если не предоставлю идентификатор, который Strongloop добавил бы для меня. Это только для хранилища данных в памяти? Нужно ли делать что-то особенное, так как это монго?
Нужно ли переключать модель accessToken на mongo (я только подумал об этом)?
Благодарю.
1 ответ
Здесь вы сталкиваетесь с крайним случаем: user и accessToken поддерживаются двумя различными типами БД. MongoDB использует ObjectID в качестве ключа по умолчанию, в то время как DB памяти использует номер.
accessToken распространяется из базы AccessToken. Он наследует отношение принадлежности к базовой модели пользователя. Тип userId установлен в число. Чтобы решить эту проблему, вы можете убедиться, что модель accessToken подключена к mongodb, или добавить следующее соотношение в models.json.
"accessToken": {
"dataSource": "db",
"public": true,
"options": {
"base": "AccessToken",
"relations": {
"user": {
"model": "user",
"type": "belongsTo",
"foreignKey": "userId"
}
}
}
},