nextel
@nextel
ненавижу javascript

Как осуществить поиск в базе с помощью mongoengine?

Здравствуйте,

есть класс, ну к примеру,
class mainDiv(mongo.Document):
    name = mongo.StringField(required=True)
    parent_div =mongo.ReferenceField(SuperDiv)


Так вот, когда делаешь поиск к примеру
a = mainDiv.objects(name ='blablabla')

Он возвращает mainDiv object [<mainDiv: mainDiv object>,]
если написать a[0] он вернет mainDiv object просто возьмет его из листа

Как бы сделать, чтоб он хотя бы dict возвращал, чтоб по ключу можно было обратиться, а то не очень удобно писать каждый раз конструкцию вида
for e in a:
print (e.name)

вот только так он выведет "blablabla''.
А если сделать вот так

print(a.name)
выдает ошибку.
  • Вопрос задан
  • 2500 просмотров
Решения вопроса 1
nextel
@nextel Автор вопроса
ненавижу javascript
Ну собственно ответ который я просмотрел в документации из за слабого знания английского
as_pymongo(coerce_types=False)
Instead of returning Document instances, return raw values from pymongo.
Parameters: coerce_type – Field types (if applicable) would be use to coerce types.

то есть если делать поиск так: a = mainDiv.objects.as_pymongo(name ='blablabla')
то он вернет тебе многомерный словарь монгодибишниый и делай с ним дальше что хочешь, может кому пригодится) Всем добра)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы