MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

MongoDB não permitindo o uso de '.' na chave


Você pode definir check_keys para False de acordo com a fonte :
 test.insert(d,check_keys=False)


 def insert(self, doc_or_docs, manipulate=True,
           safe=None, check_keys=True, continue_on_error=False, **kwargs):

Funciona mesmo:
In [28]: d = {'.aaa' : '.bbb'}

In [29]: test.insert(d,check_keys=False)
Out[29]: ObjectId('54ea604bf9664e211e8ed4e6')

A docstring afirma:

Você parece ser capaz de usar qualquer caractere além dos dois $ ou . então um sublinhado inicial ou qualquer outro caractere seria bom e provavelmente uma opção melhor.

Há informações nas perguntas frequentes sobre escapando :

E as perguntas frequentes sobre notação de ponto explicam por que usar . não é uma boa ideia: