我在nodejs中创建了两个模型,分别是:User
和Auth
。
在用户模型中,将存储用户名和身份验证对象数组,身份验证对象是身份验证模型的引用。
在Auth模型中,将存储JWT生成的令牌和令牌的创建日期……
规则:每个用户可以有多个身份验证令牌,但是每个令牌都是唯一的,一旦令牌过期,它将在数据库中中止,但应保留创建日期。
我的问题是什么?
数组1)我在中遇到强制转换问题。
2)我不知道如何遍历这个对象数组,从auth令牌和特定的用户名开始。
const mongoose = require('mongoose');
class AuthModel {
createSchema(){
const authSchema = new mongoose.Schema({
token: {
type: String,
unique: true,
required: true
},
createAt: {
type: Date,
default: Date.now
}
});
return authSchema;
}
}
module.exports = mongoose.model('AuthModel', new AuthModel().createSchema());
const mongoose = require('mongoose');
class UserModel {
createSchema(){
const userSchema = new mongoose.Schema({
username: {
type: String,
unique: true,
required: true
},
createdAt: {
type: Date,
default: Date.now
},
auth: [{
type: mongoose.Schema.Types.ObjectId,
ref: 'AuthModel',
required: true,
}]
});
return userSchema;
}
}
module.exports = mongoose.model('UserModel', new UserModel().createSchema());
发布于 2018-12-19 04:54:04
1: //define embedded schema
const authSchema = new mongoose.Schema({
type: mongoose.Schema.Types.ObjectId,
ref: 'AuthModel',
required: true,
});
const userSchema = new mongoose.Schema({
username: {
type: String,
unique: true,
required: true
},
createdAt: {
type: Date,
default: Date.now
},
auth: [authSchema] // add embedded schema here
});
2 . When you fetch userModel, you will be required to populate( mongoose function) auth model
https://stackoverflow.com/questions/53839713
复制相似问题