Zde se můžete podívat, jak vývojář frameworku vysvětlil řešení této situace. MongoKitten uzavřel vydání 27
zde jsou některé citace z jeho vysvětlení pro případ, že by se odkaz stal neplatným.
"Knihovna MongoKitten BSON vždy vrací enum (hodnotu) při subscriptování dokumentu."
"Pole BSON je ve skutečnosti pouze dokument s klíči od 0 do x, takže případ enum pro pole má dokument jako přidruženou hodnotu. Protože Value může být také například dvojnásobek nebo datum, neodpovídá sekvenční protokol.
Nejjednodušší způsob, jak pole iterovat, je použít přístupový objekt pro pohodlí dokumentu na Value. Toto vrátí podkladový dokument, pokud je Value buď pole nebo dokument, nebo prázdný dokument, pokud je to něco jiného. Poté můžete iterovat takto:"
for (key, val) in doc["vals"].document {
print("Value is \(val)")
}