2015-04-01 5 views
0

Я хочу, чтобы добавить некоторые дополнительные данные UserModel как watchedMovies и я следующую схему:Mongoose.js - население и дополнительные поля?

let userSchema = new Schema({ 
    watchedMovies: [{ 
    type: Schema.Types.ObjectId, 
    ref: 'Movie' 
    }] 
}) 

и:

let movieSchema = new Schema({ 
    title: String 
}) 

мне было интересно, можно ли добавить дополнительные поля до смотрелMovies объект и хранить его вместе с ObjectId? Я хотел бы добавить watchedAt дата поэтому, когда я заселение watchedMovies с UserModel.find().populate('watchedMovies', 'title').exec(...) я хотел бы получить что-то вроде:

{ 
    _id: ObjectId(UserId), 
    watchedMovies: [{ 
    _id: ObjectId(...), 
    title: 'Some title', 
    watchedAt: TimeStamp 
    }] 
} 

watchedAt атрибут определяет, когда (дата объекта) была добавлена ​​ссылка на UserModel

Возможно ли с помощью мангуста и как мне изменить свою схему?

Спасибо

+0

Можете ли вы изменить свой вопрос и показать, что 'Movie' модель мангуст схема похожа? – chridam

+0

О, да, только что отредактировал это –

ответ

3

Изменение схемы для

let userSchema = new Schema({ 
    watchedMovies: [{ 
    movie: { 
     type: Schema.Types.ObjectId, 
     ref: 'Movie' 
    }, 
    watchedAt: Date 
    }] 
}) 

, то вы можете заполнить по .populate('watchedMovies.movie')

+0

Я знаю это, но вопрос не в этом. –

+0

Что именно о вас спрашивает? мне кажется, что вы спрашиваете, как получить больше полей, чем только название, когда вы используете '.populate'. это не очень полезный способ ответить на неправильный ответ. – jtmarmon

+0

Когда я добавляю ссылку на пользовательскую модель (ссылка на фильм), я хотел бы сохранить временную метку, когда была сохранена эта ссылка, то есть знать, когда пользователь просматривал этот фильм. –

 Смежные вопросы

  • Нет связанных вопросов^_^