@dvrr
Новичок, еще только учусь

Как отсортировать элементы с определенным id в mongodb (pymongo) и записать их в список?

Всем привет, пробовал несколько способов сортировки элементов в mondodb, но ничего не работает. Я хочу сделать так, чтобы mongodb получал все элементы с определенным id и записывал их в список, а те, у которых другой id не записывал их.
Пробовал так:
all_elements = list(mod_actions.find())
filtered_elements = [element for element in all_elements if element["server_id"] != message.guild.id]

А также:
elements = []
for element in mod_actions.find({'server_id': message.guild.id }):
    elements.append(element)


В первом способе записываются все элементы, а во втором список просто пустой. В чем моя ошибка, и как нужно сделать правильно?
  • Вопрос задан
  • 46 просмотров
Пригласить эксперта
Ответы на вопрос 1
Vindicar
@Vindicar
RTFM!
В первом случае ты ищешь все элементы, у которых server_id НЕ совпадает (!=) с message.guild.id.
Во втором случае ты ищешь все элементы, у которых server_id совпадает с message.guild.id.

Исходя из твоего результата, я бы сказал, что у тебя в базе нет элемента с таким id. Ты уверен, что он там есть? Что насчёт типов данных - нет ли тут косяка, вроде "храню id как строку, а передаю при поиске как целое число"?

И да, говори правильно. То, что ты делаешь - поиск/фильтрация, а не сортировка.
Ответ написан
Ваш ответ на вопрос

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

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