jeśli mam dwa schematy takie jak:
var userSchema = new Schema({
twittername: String,
twitterID: Number,
displayName: String,
profilePic: String,
});
var User = mongoose.model('User')
var postSchema = new Schema({
name: String,
postedBy: User, //User Model Type
dateCreated: Date,
comments: [{body:"string", by: mongoose.Schema.Types.ObjectId}],
});
Próbowałem połączyć je ze sobą, jak na powyższym przykładzie, ale nie mogłem wymyślić, jak to zrobić. W końcu, jeśli mogę zrobić coś takiego, bardzo ułatwiłoby mi to życie
var profilePic = Post.postedBy.profilePic
javascript
mongodb
mongoose
Gorkem Yurtseven
źródło
źródło
by:
selectropopulate
: mongoosejs.com/docs/populate.htmlDodatek: Nikt nie wspomniał o „Wypełnianiu” - jest to bardzo warte poświęcenia czasu i pieniędzy, aby przyjrzeć się metodzie populacji mangusty: wyjaśniono również odsyłacze do dokumentów krzyżowych
http://mongoosejs.com/docs/populate.html
źródło
Późna odpowiedź, ale dodając, że Mongoose ma również koncepcję dokumentów podrzędnych
Dzięki tej składni powinieneś być w stanie odwołać się do swojego
userSchema
typu w swoimpostSchema
:Zwróć uwagę na zaktualizowane
postedBy
pole z typemuserSchema
.Spowoduje to osadzenie obiektu użytkownika w poście, zapisując dodatkowe wyszukiwanie wymagane przy użyciu odwołania. Czasami może to być lepsze, innym razem trasa ref / populate może być drogą do zrobienia. Zależy od tego, co robi Twoja aplikacja.
źródło