2011-07-15 5 views
3

J'ai un document de haut niveau Utilisateur avec des documents de mots-clés incorporés (User EmbedMany Keyword). Eh bien, je ne sais pas comment obtenir l'objet Mot-clé du béton Utilisateur par mot-clé ID J'ai passé beaucoup de temps à essayer de résoudre ce problème, mais il reste encore un problème pour moi. Alors j'aide quelqu'un ici à m'aider. Merci beaucoup.Doctrine MongoDB interroger des documents incorporés

Répondre

2

Vous ne pouvez charger que le document parent à partir du mongodb. Mais il ya $slice opérateur qui peut charger le document parent juste avec un nombre limité de documents incorporés.

Le langage natif MongoDB vous pouvez le faire si:

db.users.find({_id: "UserId", "Keywords._id", "keywordId"}, 
       {Keywords:{$slice: 1}}) // first matched by id keyword 

de la doctrine, vous recevrez le document utilisateur avec un seul mot-clé intégré.

Espérons que cela aide.

Questions connexes