1

私はDocuments、別の への参照キーを持っていますDocument。そのフィールドへの参照を持つすべてのドキュメントを一度に削除することは可能ですか?

現時点では、db.collection.remove(<query for the reference>)すべてのコレクションで使用して実行しますが、これはまったく効率的ではないようです。

私がやりたいことは、すべてのドキュメントを実行する単一の削除クエリを使用することです。RoboMongo でコマンド プロンプトを使用しています。

4

1 に答える 1

1

最初の質問に対する答えは、はい、できます。

方法: そのようなアクションを実行したい場合は、小さな mongoDB スクリプトを作成できます。mongo シェル スクリプトの詳細

あなたの投稿に対する解決策は、次のようなスクリプトになる可能性があります。

cursor = db.collection.find();
while ( cursor.hasNext() ) {
   // Compare the two keys and remove the appropriate document
}

アクションを自動化する必要がある場合、MongoDB Shell Scriptingは優れたソリューションです。

于 2015-06-02T12:39:35.557 に答える