Você não pode ter um
.
em seus nomes de chave como a mensagem de erro informa. O MongoDB aceita isso diretamente, mas você não poderá consultar esses nomes de campo, pois nas consultas, o ponto tem um significado especial:
// document
{foo:{bar:"baz"}}}
// query
db.col.find( { 'foo.bar' : 'baz' } );
Todos os motoristas oficiais evitam colocar um
.
(e outros caracteres) em nomes de chave e, portanto, o driver PHP rejeita isso corretamente.