sql >> Database >  >> NoSQL >> MongoDB

MongoDB staat het gebruik van '.' niet toe in sleutel

U kunt check_keys . instellen naar False volgens de bron :

 test.insert(d,check_keys=False)


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

Het werkt inderdaad:

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

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

De docstring stelt:

Je lijkt elk teken te kunnen gebruiken behalve alleen de twee $ of . dus een leidend onderstrepingsteken of een ander teken zou prima zijn en waarschijnlijk een betere optie.

Er is informatie in de faq over ontsnappen :

En de dot-notation faq legt uit waarom je . is geen goed idee:




  1. Asp.net core web-api met mongodb 500-fout

  2. EPEL MongoDB start niet op EC2 Amazon AMI

  3. MapReduce-aggregatie op basis van attributen buiten het document

  4. Hoe schalen echt werkt in Apache HBase