Maison > Questions et réponses > le corps du texte
La structure est la suivante
var LabelSchema = new mongoose.Schema({
name: String,
parent: {type: ObjectId, ref: 'Label', default: null},
children: [{type: ObjectId, ref: 'Label'}]
})
J'espère obtenir l'arborescence complète en une seule fois
Label.find({parent: null})
.populate('children')
.exec(function(err, labels) {
if (err) {
console.log(err)
}
// res.send('test')
res.send({
msg: true,
result: labels
})
})
La méthode populate est utilisée, mais seule la référence enfant de premier niveau peut être obtenue. L'enfant de deuxième niveau est toujours l'objectId. En plus de trouver l'objet via l'objectId, existe-t-il un autre moyen plus simple d'obtenir l'objectId. arborescence complète ?
高洛峰2017-05-02 09:27:52
J'ai trouvé la solution, remplissez d'abord quand je la trouve
pointSchema.pre('find', function(next) {
this.populate('children')
next()
})