sql >> Base de Datos >  >> NoSQL >> MongoDB

MongoDB no permite usar '.' en clave

Puede configurar check_keys a Falso según la fuente :

 test.insert(d,check_keys=False)


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

De hecho funciona:

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

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

La cadena de documentación dice:

Parece que puedes usar cualquier carácter además de los dos $ o . por lo que un guión bajo inicial o cualquier otro carácter estaría bien y probablemente sea una mejor opción.

Hay información en las preguntas frecuentes sobre escapar :

Y las preguntas frecuentes de notación de puntos explican por qué usar . no es una buena idea: