Bene, l'unico modo in cui potresti averlo costruito è come:
content = {};
content["Parent"] = {}
content["Parent"]["key2"] = 1
content["Parent"]["key 3"] = 1
db.coll_name.insert(content)
Ma sembra che ti manchi che non c'è niente di sbagliato nel fare questo:
db.coll_name.find({ "Parent.key 3": 1} )
O in proiezione
db.coll_name.find({}, { "Parent.key 3": 1 })
È "dot notation" e non la notazione dell'oggetto, e fintanto che citi i nomi delle chiavi (che è obbligatorio per la notazione dei punti), tutto va bene e puoi avere uno spazio lì dentro.