2012-01-09 3 views
0

Exemple premier:MongoDB, NodeJS et Mongoose: Récupère l'objet intérieur où « valeur de recherche » = valeur de l'objet intérieur

{ "_id" : ObjectId("4f086809bf28fd7bb56e6059"), "admins" : [ "4ef8e785b2694c3649000001" ], "pages" : [ 
    { 
     "pagename" : "home", 
     "title" : "homepage", 
     "default" : true 
    }, 
    { 
     "pagename" : "people", 
     "title" : "Staff", 
     "default" : false 
    } 
], "sitename" : "Site", "sitenameLower" : "site" } 

Alors qui est le document que je suis l'interrogation, maintenant ce que je veux est de retourner la page 'où pagename =' maison '.

J'ai essayé plusieurs requêtes mais elle renvoie toujours le document entier et non l'objet individuel dans le tableau de pages - ce qui ne me sert pas beaucoup.

Y compris:

db.sites.find({'pages.pagename' : 'home'}); 

Je peux voir, pourquoi cela est faux, mais obtenir ce droit, me laisse perplexe.

Répondre

0

Voir this question. On dirait que c'est un planned feature mais vous ne pouvez pas le faire maintenant.

+0

Merci, ok je vais juste le refactoriser, dans une autre collection de pages. Je réfléchissais à la façon dont je faisais les sous-pages et les pages, donc j'ai peut-être besoin de le refactoriser de toute façon ... pour avoir une collection d'éléments de site, à savoir des pages, des sous-sites, d'autres listes. – mrdnk

Questions connexes