c++ - mangouste obtenir la structure arborescente
高洛峰
高洛峰 2017-05-02 09:25:52
0
1
783

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 ?

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

répondre à tous(1)
小葫芦

J'ai trouvé la solution, remplissez d'abord quand je la trouve

pointSchema.pre('find', function(next) {
  this.populate('children')
  next()
})
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal