J'essaye d'accomplir quelque chose de vraiment facile mais j'arrive toujours à échouer. Ce que j'essaye de faire est quand je reçois une demande de get
sur mon serveur je veux renvoyer tous les documents MAIS juste les champs spécifiques peuplés.Renvoyer des champs spécifiques avec mongoose
Mon schéma est le suivant
var clientSchema = new Schema({
name:{
type: String,
required: true
},
phone:{
type: String,
required: true
},
email:{
type: String,
required: true
},
address: {
type: String,
required: false
}
});
var orderDetailsSchema = new Schema({
//isn't added to frontend
confirmed:{
type: Boolean,
required: true,
default: false
},
service:{
type: String,
required: true
},
delivery:{
type: String,
required: false
},
payment:{
type: String,
required: false
},
status:{
type: String,
required: true,
default: "new order"
},
});
var orderSchema = new Schema({
reference:{
type: String,
required: true
},
orderdetails: orderDetailsSchema,
client: clientSchema,
wheelspec: [wheelSchema],
invoice:{
type: Schema.Types.ObjectId,
ref: 'Invoice'
}
});
Ce que je veux revenir seulement client.phone
et client.email
, plus orderdetails.status
mais toujours garder le terrain reference
si possible
J'ai essayé d'utiliser lean()
et populate()
mais n'a pas eu de chance avec eux. Y a-t-il quelque chose d'absolument simple qui me manque? Ou ce que j'essaie de réaliser n'est pas si facile? Merci!
à quoi ressemble votre appel Get? vous pouvez utiliser la projection mongodb – Astro
besoin de voir votre requête actuelle – Alex