Чтобы получить список всех полей, используемых в коллекции в MongoDB, я нашел этот способ наиболее простым (ваш пробег может варьироваться :)):
Создайте файл .js с содержанием:
use yourdbname
mr = db.runCommand({
"mapreduce" : "collectionName",
"map" : function() {
for (var key in this) { emit(key, null); }
},
"reduce" : function(key, stuff) { return null; },
"out": "collectionName" + "_keys"
})
db[mr.result].distinct("_id")
Я узнал, как это сделать здесь (блог GeoffTech)
Я запустил его из оболочки, чтобы распечатать вывод в консоли
mongo < nameOfYourFile.js
или выведите вывод в текстовый файл:
mongo < nameOfYourFile.js > outputDir\nameOfYourOutputFile.txt
Я совершенно новичок в MongoDb, поэтому я надеюсь, что он действительно получает все поля независимо от использования в документах!
(я использую MongoDb в Windows 10, поэтому моя консоль может отличаться от вашей)