MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

MongoDB non consente l'utilizzo di '.' in chiave

Puoi impostare check_keys a False secondo la 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):

Funziona davvero:

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

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

La docstring afferma:

Sembra che tu possa usare qualsiasi carattere a parte solo i due $ o . quindi un trattino di sottolineatura iniziale o qualsiasi altro carattere andrebbe bene e probabilmente un'opzione migliore.

Ci sono informazioni nelle domande frequenti su escape :

E le domande frequenti sulla notazione a punti spiegano perché usare . non è una buona idea: