Vous ne pouvez pas avoir de .
dans vos noms de clé comme le message d'erreur vous l'indique.
MongoDB accepte cela directement, mais vous ne pourrez pas interroger ces noms de champs comme dans les requêtes, le point a une signification particulière :
// document
{foo:{bar:"baz"}}}
// query
db.col.find( { 'foo.bar' : 'baz' } );
Tous les pilotes officiels se gardent de mettre un .
(et d'autres caractères) dans les noms de clé, et donc le pilote PHP le rejette correctement.