sql >> Databáze >  >> NoSQL >> MongoDB

MongoDB neumožňuje použití '.' v klíči

Můžete nastavit check_keys na False podle zdroje :

 test.insert(d,check_keys=False)


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

Opravdu to funguje:

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

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

Dokumentační řetězec uvádí:

Zdá se, že můžete použít jakýkoli znak kromě pouhých dvou $ nebo . takže úvodní podtržítko nebo jakýkoli jiný znak by byl v pořádku a pravděpodobně lepší volba.

V často kladených dotazech jsou informace o úniku :

A tečkovaný často kladený dotaz vysvětluje, proč používat . není dobrý nápad:




  1. nelze použít regulární výraz v operátoru $in v mongodb

  2. Vložte Pandas Dataframe do mongodb pomocí PyMongo

  3. Jak získat den, měsíc a rok z data v SQL

  4. syntaxe pro propojení dokumentů v mongodb