2011-09-29 5 views
0

En utilisant Mongoose, j'ai une page modèle avec un modèle de flux incorporé. Quand je vais sur/pages, le page.title apparaît pour chaque page, mais pas les données de flux. comment dois-je modifier ce code pour afficher correctement les données de la matrice de flux? grâce un millionNode.js - Tableau imbriqué dans la vue Jade

db.pages exmaple:

{ "title" : "testing feeds", "_id" : ObjectId("123456"), "feeds" : [ 
{ "0" : { "name" : "twitter", "key" : "1234" }, 
    "1" : { "name" : "flickr", "key" : "5678" }, 
}] } 

web.js

app.get('/pages.:format?', function(req, res) { 
    Page.find({}, function(err, pages) { 
    switch (req.params.format) { 
     case 'json': 
     res.send(pages.map(function(d) { 
      return d.toObject(); 
     })); 
     break; 

     default: 
     res.render('pages/index.jade', { 
      locals: { 
       title: 'ClrTouch | Pages', 
       pages: pages, 
       feeds: pages.feed, 
      } 
     }); 
    } 
    }); 
}); 

vue

- each page in pages 
    div.page 
    div.pagetitle= page.title 
     ul 
     - each feed in page.feeds 
     li.pagefeedname= feed.name 
     li.pagefeedkey= feed.key 

avec ce que j'ai, une liste est générée dans la vue mais les éléments de la liste sont vides. Merci.

Répondre

0

Est-ce que le modèle que vous avez ici avec lequel vous testez aussi? Si c'est le cas, la raison pour laquelle votre liste est générée mais rien n'est affiché est que vous n'avez actuellement aucune valeur.

li.pagefeedname=feed.name = "0": {"name": "", "clé": ""}

Essayez votre nom d'donnant alimentation/clés des valeurs et voir comment cela se joue.

Sinon ce que vous avez devrait travailler

+0

ugh qui était mon mauvais, vient d'éditer l'échantillon db. ne pas obtenir les données de flux à la vue. dans l'exemple référencé, 'page.title' rendrait mais pas les flux. un ul avec lis apparaîtra mais n'aura pas de données. – tuddy

+0

hmm alors oui, ça ne marche pas. Si je demande la page sur /pages.json, je reçois avec succès une copie complète du fichier json avec les données de flux, je ne reçois tout simplement pas à sortir dans la vue html ... – tuddy

0

Tuddy, Je vous suggère d'essayer comme ceci:

Page.find().lean().exec(function(err,pages){ 
    // TODO 
    }); 
Questions connexes