2012-03-05 13 views
24

私はコレクションを削除できません。その名前の " - "は特殊文字であると仮定しています。 MongoDBでは、特殊文字をエスケープする最良の方法は何ですか?Mongoコレクションでの特殊文字の使用

> db.tweets.drop(); 
true 

しかし、私は(シングルとダブルの両方)引用符とスラッシュで脱出しようとしましたが、何も動作

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

答えて

52

次作品:それはsquare bracket notationと呼ばれています

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

、あなたはプロパティ名に特殊文字を使用することができます。

+0

:)私はあきらめてコレクションの名前を変更しましたが、はい、これが動作します! – Mahesh

3

そう:

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

そして、それは今、しばらくの間、回避されています。

さらに、メソッド呼び出しは、公式にサポートされているすべてのMongoDBドライバの一般的な「get a collection」アクセサメソッドと同じです。したがって、ここでの提案は、「名前付きコレクション」アクセサは一般的にどのように行われるかということから、この方法で使用することに慣れていることです。