Fix indexes for users
This commit is contained in:
@@ -4,12 +4,7 @@ import { regExpPattern } from "regexp-pattern"
|
||||
export let userSchema = new Schema(
|
||||
{
|
||||
_id: { type: Schema.Types.ObjectId, required: true, auto: true },
|
||||
loginToken: {
|
||||
type: String,
|
||||
index: true,
|
||||
unique: true,
|
||||
partialFilterExpression: { loginToken: { $type: "string" } },
|
||||
},
|
||||
loginToken: String,
|
||||
passwordHash: {
|
||||
type: {
|
||||
hash: String,
|
||||
@@ -30,23 +25,13 @@ export let userSchema = new Schema(
|
||||
thumbnailImageId: { type: Schema.Types.ObjectId },
|
||||
emailToken: {
|
||||
type: {
|
||||
value: {
|
||||
type: String,
|
||||
index: true,
|
||||
unique: true,
|
||||
partialFilterExpression: { emailToken: { $type: "string" } },
|
||||
},
|
||||
value: String,
|
||||
created: Date,
|
||||
},
|
||||
},
|
||||
passwordToken: {
|
||||
type: {
|
||||
value: {
|
||||
type: String,
|
||||
index: true,
|
||||
unique: true,
|
||||
partialFilterExpression: { passwordToken: { $type: "string" } },
|
||||
},
|
||||
value: String,
|
||||
created: Date,
|
||||
},
|
||||
},
|
||||
@@ -58,6 +43,25 @@ export let userSchema = new Schema(
|
||||
{ timestamps: true, id: false }
|
||||
)
|
||||
|
||||
userSchema.index(
|
||||
{ "emailToken.value": 1 },
|
||||
{
|
||||
unique: true,
|
||||
partialFilterExpression: { "emailToken.value": { $type: "string" } },
|
||||
}
|
||||
)
|
||||
userSchema.index(
|
||||
{ "passwordToken.value": 1 },
|
||||
{
|
||||
unique: true,
|
||||
partialFilterExpression: { "passwordToken.value": { $type: "string" } },
|
||||
}
|
||||
)
|
||||
userSchema.index(
|
||||
{ loginToken: 1 },
|
||||
{ unique: true, partialFilterExpression: { loginToken: { $type: "string" } } }
|
||||
)
|
||||
|
||||
userSchema.methods.toClient = function(authUser) {
|
||||
if (!authUser) {
|
||||
authUser = this
|
||||
|
||||
Reference in New Issue
Block a user