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

MongoDB tillader ikke brug af '.' i nøgle

Du kan indstille check_keys til Falsk ifølge kilden :

 test.insert(d,check_keys=False)


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

Det virker faktisk:

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

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

Docstringen siger:

Du ser ud til at være i stand til at bruge et hvilket som helst tegn bortset fra kun de to $ eller . så en ledende understregning eller en hvilken som helst anden karakter ville være fint og sandsynligvis en bedre mulighed.

Der er oplysninger i FAQ'en om escape :

Og dot-notation ofte stillede spørgsmål forklarer, hvorfor du bruger . er ikke en god idé:




  1. Sådan finder du sidste opdatering/indsæt/slet operationstid på mongodb-samling uden objektid-felt

  2. MongoDB $indexOfArray

  3. Forkert afstandsberegning med MongoDB

  4. ng-hvis bliver ringet op flere gange, end det burde