次の形式の 100 万個のドキュメントを含むコレクションがあるとします。
{
a: "foo",
b: "bar",
c: "stuff",
d: "other"
}
そして複合インデックスがあります{a:1, b:1}
これらのドキュメントの 600.000 を削除したいのですが、削除したい 600.000 のそれぞれに [a,b] 値があります。それらを1つずつ削除すると、発行するよりもはるかに高速であることがわかりました
db.collection.remove({$or: [{a:"1", b:"1"}, {a:"3",b:"3"},...]})
それは期待されていますか?私は何か間違ったことをしていますか?1つずつ削除すると、データベースに渡すバッチ削除よりも10倍高速になるというのは、ちょっと間違っているように感じます...