Ho capito che naturalmente. e SPACE non sono ammessi. Ci sono altri personaggi proibiti?Quali caratteri NON sono consentiti nei nomi dei campi MongoDB?
risposta
È possibile utilizzare qualsiasi carattere (UTF8) nel nome del campo che non sono speciali (contiene "", o inizia con '$').
https://jira.mongodb.org/browse/SERVER-3229
https://stackoverflow.com/a/7976235/311220
E 'generalmente meglio attaccare con caratteri alfanumerici minuscoli con caratteri di sottolineatura però.
E riguardo le specifiche del prodotto? Non semplificerebbe notevolmente la progettazione se i nomi dei campi fossero la descrizione della specifica effettiva? (ad esempio ''Dimensioni schermo': '26 pollici'') – Dor
Non necessariamente, @Dor - vuoi avere un po 'di flessibilità tra l'interfaccia utente e il tuo database (niente di così volubile come un cliente:" Aspetta, lo voglio pronunciare "Dimensioni schermo", non "Dimensione schermo" "). E, naturalmente, c'è tutta la parte dell'internazionalizzazione del puzzle, che richiede anche il disaccoppiamento. A proposito, quando Acorn dice "qualsiasi UTF8", che include gli spazi, quindi stai perfettamente bene lì, se vuoi. –
Come gestirà le parole di cammello come 'userDetails'? È valido? –
Qualcos'altro da tenere in considerazione è il fatto che è possibile creare un nome di proprietà chiamato "query", ma poi utilizzare gli operatori di query su di esso, rendendo difficile eseguire un numero elevato di query.
Esempio:
documento Inserire con una proprietà denominata
db.coll.insert({ query: 'foo' });
interrogazione uguaglianza funziona:
db.coll.findOne({ query: 'foo' });
Non uguale ($ ne) non lo fa:
db.coll.findOne({ query: { $ne: 'bar' } });
Buon punto. Ma puoi ancora fare quella query come 'db.coll.findOne ({query: {query: {$ ne: 'bar'}}})'. Quindi non è impossibile, ma è imbarazzante. – JohnnyHK
Grazie, non mi sono reso conto che non era impossibile fino a dopo aver postato questo. Decisamente più imbarazzante. – Dave
A partire da 3.2 (rilasciato alla fine del 2015) questo problema è stato risolto. –
- 1. Caratteri consentiti nei nomi di funzioni Python
- 2. Quali sono i caratteri legali/consentiti per i nomi dei file del server Web?
- 3. Non sono consentiti caratteri Unicode/speciali nei nomi di variabili in clang?
- 4. Quali sono i caratteri consentiti in una parola chiave Clojure?
- 5. Quali caratteri sono consentiti in un nome di attributo HTML?
- 6. Quali caratteri NON sono presenti in Unicode?
- 7. Quali caratteri devo sfuggire/disinfettare per i nomi dei file?
- 8. sono caratteri # o consentiti in xml?
- 9. Come si gestiscono i punti nei nomi dei tasti MongoDB?
- 10. Quali caratteri sono consentiti in una chiave di Google App Engine?
- 11. Quali caratteri sono validi nelle chiavi hash?
- 12. Quali sono i filtri dei campi possibili nei parametri del modulo Joomla?
- 13. Quali parametri sono consentiti nei criteri di modifica del gioco Web Desktop?
- 14. Quali spazi dei nomi simbolo ci sono in Haskell?
- 15. Base64 caratteri consentiti crittografati
- 16. Quali sono i nomi dei file di classe $ 1?
- 17. Quali caratteri sono consentiti nell'attributo Nome HTML all'interno del tag di input?
- 18. I caratteri in PHP sono influenzati dagli spazi dei nomi?
- 19. Quali caratteri speciali sono consentiti nel nome della colonna T-SQL?
- 20. Caratteri consentiti nella proprietà CSS "content"?
- 21. I puntatori sono consentiti come chiavi nei contenitori STL ordinati?
- 22. Caratteri consentiti nell'identificativo della chiave Map YAML
- 23. C'è qualche buona ragione che non dovrei usare - (trattino) nei nomi dei campi in MySQL?
- 24. Quali permessi di riflessione sono consentiti in Medium Trust?
- 25. Logback.groovy LogstashEncoder nomi dei campi che alterano
- 26. CodeIgniter ActiveRecord nomi dei campi Registrazione dichiarazione
- 27. Best practice per i nomi dei campi in ElasticSearch
- 28. Quali operazioni sono economiche/costose in mongodb?
- 29. Javascript regex per rimuovere caratteri non consentiti dall'ID DOM
- 30. Specificare quali campi sono indicizzati in ElasticSearch
Simile domanda: http://stackoverflow.com/a/797 6235/311220 – Acorn
SPACE è consentito. –