2012-03-05 9 views
24

Ho una collezione non riesco a cadere, sto supponendo che il "-" nel suo nome è un carattere speciale. In MongoDB, qual è il modo migliore per sfuggire caratteri speciali?Lavorare con i caratteri speciali in una collezione Mongo

> db.tweets.drop(); 
true 

MA

> db.tweets-old.drop(); 
ReferenceError: old is not defined (shell):1 

Ho cercato di fuggire con le virgolette (singole e doppie) e una barra, ma non funziona niente.

risposta

52

le seguenti opere:

db["tweets-old"].drop(); 

Si chiama square bracket notation, che consente di utilizzare caratteri speciali nei nomi di proprietà.

+0

:) .. avevo rinunciato e ha cambiato nome della collezione, ma sì questo funziona !! – Mahesh

3

così fa:

db.getCollection("tweets-old").drop() 

E che è stato intorno per un po '.

Inoltre, la chiamata al metodo imita anche quello che è il generale metodo di accesso "ottenere una raccolta" di tutti i driver di MongoDB ufficialmente supportati. Quindi, il suggerimento è che ci si abitua ad usarlo in questo modo, dal momento che la funzione di accesso "nome collezione" è come è generalmente fatto.