Задать вопрос

По каким причинам может не работать запрос в монгодб вида db.presets.find({}, {"name":1})?

Добрый день.
На своем пк создал выборку из базы монго которая должна выбирать имена всех полей коллекции presets.
На пк все корректно работает, а вот загрузив на 2 разных сервера ничего не работает =(
Методом проб/ошибок/тестов пришел к выводу, что не срабатывает строка:
presets_names1 = db.presets.find({}, {"name":1})
args['presets_names1'] = presets_names1

Так как в шаблоне джанго данный код ничего не выводит:
{% for pres1 in presets_names1 %}
<label class="radio">
<input class="pres1" type="radio" name="group1" value="{{ pres1.name }}">{{ pres1.name }}
</label>
{% endfor %}

Дело в том что другие запросы из данной коллекции работают и оторбажаются в шаблоне..
pres = presets_col.find_one({'name':preset})
preset_username = pres['login']

Возможно ошибка в маленькой детали, но я уже более 5 часов её не могу найти. Вот и возник вопрос, может кто-то сталкивался, по каким причинам может не срабатывать запрос db.presets.find({}, {"name":1})?
Повторюсь, на своем ПК все срабатывает. на пк и двух серверах одинаковые базы. Версии монгодб 3. Django: 1.8.1 на пк и одном сервере, а втором 1.7.7.
Буду благодарен любой помощи. =)
  • Вопрос задан
  • 203 просмотра
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
@lega
db.presets.find - возвращает итератор, т.е. данные можно "прочитать" единожды, возможно вы его до шаблона "вычитали". Попробуйте превратить сразу в массив (для небольших списков):
presets_names1 = list(db.presets.find({}, {"name":1}))
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы