Как отфильтровать поля через DBRef с помощью MongoKit?

Я хочу фильтровать поля в документе, содержащем DBRef, когда он выбирается. Целевые поля фильтрации - это дочерний документ, имеющий отношение с использованием DBRef. Я хочу код, как это.

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

Поле 'profile' использует DBRef для этого примера.

У кого-нибудь есть идеи?

1 ответ

Решение

Таким образом, каждый документ пользователя имеет DBRef для документа профиля? Глядя на источник MongoKit, мне кажется, что то, что вы хотите, не возможно:

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

Посмотрите, как он выполняет функцию one() (которая фактически является функцией find()) для извлечения ссылочного документа из MongoDB? Вот где MongoKit должен был бы передать список полей для включения или исключения в документе, на который ссылаются, но MongoKit этого не делает. Вы можете открыть запрос функции у автора или посмотреть, сможете ли вы добавить его самостоятельно и отправить патч.

Другие вопросы по тегам