Mám dva modelové skupinové modely a užívateľské modely
užívateľský model:
var mongoose = require("mongoose");
var userSchema = mongoose.Schema({
profilePic : String,
firstName : String,
lastName : String,
dateOfBirth_DateObject : {
type : Date ,
default : Date(1994-03-18)
},
yearOfBirth_Integer : {
type : Number,
default : 0
},
monthOfBirth_Integer : {
type : Number,
default : 0
},
dayOfBirth_Integer : {
type : Number,
default : 0
},
gender_String : String
)};
module.exports = mongoose.model("user", userSchema,"user");
skupinový model:
var mongoose = require("mongoose");
var groupSchema = mongoose.Schema({
members : [{
id : {
type : mongoose.Schema.Types.ObjectId,
ref : "user"
},
firstName : String,
lastName : String,
profilePic : String
}]
});
module.exports = mongoose.model("group", groupSchema,"group");
takže keď používateľ nahrá nový profilový obrázok, adresa URL tohto obrázka sa uložila do používateľského modelu, ale profilový obrázok tohto používateľa by sa mal automaticky meniť aj v poli členov skupiny.
odpovede:
0 pre odpoveď č. 1Musíte len zmeniť svoju schému na
var groupSchema = mongoose.Schema({members : [{
id : {
type : mongoose.Schema.Types.ObjectId,
ref : "user"
},
otherprop1: String,
otherprop2 : String,
}]});
Potom použite vyplnenie na získanie údajov používateľa v hľadaní
group.find({}).populate({path:"user", select: "firstName lastName profilePic"})