Nur mal so auf dem Trockenen, da ich das hier nicht testen oder nachvollziehen kann.
Was sollen die Keyfields sein?
Wie sieht mal so platt gefragt, Dein Document aus?
Ich kenne in Document
DB key : value Datenhaltung, das scheint aber nicht zu den dargestellten Fieldname, Keyfields zu passen.