var mongoose = require('mongoose'), Schema = mongoose.Schema; var mongooseUniqueValidator = require('mongoose-unique-validator'); var userSchema = new Schema({ username: { type: String, required: true, unique: true }, password: { type: String, required: true, select: false }, token: { type: String, select: false }, description: { type: String, default: "Hello world" }, avatar: { type: String, default: "img/avatars/racoon.png" }, faircoinString: { type: String, default: "faircoin wallet" }, faircoin: { type: String, default: "img/faircoinpublickey_sample.png" }, email: { type: String, required: true, select: false }, phone: { type: String }, telegram: { type: String }, localNode: { type: String }, validated: { type: Boolean, default: false }, validatedBy: { type: mongoose.Schema.Types.ObjectId, ref: 'adminModel' }, valorations: [{ user: { type: mongoose.Schema.Types.ObjectId, ref: 'userModel' }, value: { type: Number }, comment: { type: String } }], likes: [{ type: mongoose.Schema.Types.ObjectId, ref: 'userModel' }], favs: [{ user: { type: mongoose.Schema.Types.ObjectId, ref: 'userModel' }, date: {type: Date} }], travels: [{ type: mongoose.Schema.Types.ObjectId, ref: 'travelModel' }], notifications: [{ type: mongoose.Schema.Types.ObjectId, ref: 'notificationModel' }] }) userSchema.plugin(mongooseUniqueValidator); module.exports = mongoose.model('userModel', userSchema);