Eh bien, la seule façon dont vous auriez pu construire ceci est comme :
content = {};
content["Parent"] = {}
content["Parent"]["key2"] = 1
content["Parent"]["key 3"] = 1
db.coll_name.insert(content)
Mais vous semblez oublier qu'il n'y a rien de mal à faire ceci :
db.coll_name.find({ "Parent.key 3": 1} )
Ou en projection
db.coll_name.find({}, { "Parent.key 3": 1 })
C'est "notation par points" et non la notation d'objet, et tant que vous citez les noms de clé (ce qui est obligatoire pour la notation par points), tout va bien et vous pouvez avoir un espace là-dedans.