2012-03-05 11 views
24

Mam kolekcję Nie mogę upuścić, zakładam, że "-" w jej nazwie jest specjalną postacią. W MongoDB, jaki jest najlepszy sposób na uniknięcie znaków specjalnych?Praca ze znakami specjalnymi w kolekcji Mongo

> db.tweets.drop(); 
true 

ALE

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

Próbowałem uciec z cytatami (zarówno pojedyncze i podwójne) i ukośnik, ale nic nie działa.

Odpowiedz

52

następujące utwory:

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

Nazywa się square bracket notation, która pozwala na używanie znaków specjalnych w nazwach nieruchomości.

+0

:) Porzuciłem i zmieniłem nazwę kolekcji, ale tak, to działa! – Mahesh

3

Tak samo:

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

I to już od jakiegoś czasu.

Ponadto wywołanie metody również naśladuje, jaka jest ogólna metoda uzyskiwania dostępu "weź kolekcję" we wszystkich oficjalnie obsługiwanych sterownikach MongoDB. Sugestia polega na tym, że przyzwyczajasz się do używania go w ten sposób, ponieważ accessor "nazwanego zbioru" jest taki, jak to się zwykle robi.

Powiązane problemy