2012-03-05 2 views
0

Je souhaite filtrer les champs dans un document contenant DBRef lorsqu'il est extrait. Les champs de filtrage cible sont un document enfant ayant une relation utilisant DBRef. Je veux coder comme ça.Comment filtrer les champs via DBRef en utilisant MongoKit?

db.User.find(fields=['_id', 'profile._id', 'profile.text']) 

Le champ 'profile' utilise DBRef pour cet exemple.

Quelqu'un a-t-il une idée?

Répondre

2

Les documents utilisateur ont-ils chacun un DBRef dans un document de profil? En regardant la source de MongoKit, il me semble que ce que vous voulez est impossible:

https://github.com/namlook/mongokit/blob/master/mongokit/document.py#L647

voir comment elle fait un() (qui est effectivement une découverte()) pour récupérer les visées à document de MongoDB? C'est là que MongoKit devrait passer dans une liste de champs à inclure ou exclure dans le document référencé, mais pas MongoKit. Vous pouvez ouvrir une demande de fonctionnalité avec l'auteur ou voir si vous pouvez l'ajouter vous-même et soumettre un correctif.

+0

Merci beaucoup pour votre indice. Je vais le patcher ou essayer d'une autre manière. –

Questions connexes