No puedes tener un .
en sus nombres clave como le indica el mensaje de error.
MongoDB acepta esto directamente, pero no podrá consultar estos nombres de campo como en las consultas, el punto tiene un significado especial:
// document
{foo:{bar:"baz"}}}
// query
db.col.find( { 'foo.bar' : 'baz' } );
Todos los conductores oficiales se guardan de poner un .
(y otros caracteres) en los nombres de las claves y, por lo tanto, el controlador de PHP lo rechaza correctamente.