Задать вопрос
@FonVald
Backend Developer

Как получить список полей в документе MongoDB?

Есть база Mongo, есть некий документ с коллекциями. Есть ли какаято возможность, желательно через mongoengine, получить списком название полей?
К примеру
class User(db.Document):
login = db.StringField()
name = db.StringField()
aboutme = db.StringField()

на выходе получить список ['login', 'name', 'aboutme']
  • Вопрос задан
  • 1279 просмотров
Подписаться Оценить Комментировать
Решения вопроса 1
Shutik
@Shutik
Погромист халявщик
mr = db.runCommand({
  "mapreduce" : "my_collection",
  "map" : function() {
    for (var key in this) { emit(key, null); }
  },
  "reduce" : function(key, stuff) { return null; }, 
  "out": "my_collection" + "_keys"
})

db[mr.result].distinct("_id")
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
k12th
@k12th
console.log(`You're pulling my leg, right?`);
Нет. MongoDB — безсхемная БД, в одной и той же коллекции могут храниться абсолютно разные документы (другое дело, что на практике это не нужно).
Можно проитерировать всю (или не всю) коллекцию и посмотреть какие поля какого типа встречаются.
Ответ написан
Ваш ответ на вопрос

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

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