インデックスを作成しようとしているフィールドを持つmongodbコレクションがあります。これは、タイトルの文字列フィールドです。約9百万の異なるエントリーがあり、私はただのものを取り除こうとしています。インデックスが大きすぎるフィールドの値についてmongodb colletionをチェックしてください。
私はそれをインデックス化しようとしたとき:
db.getCollection("review_metadata").createIndex({"title" : 1})
私が手にこのエラー:だから
db.getCollection("review_metadata").createIndex({"title" : 1})
{
"createdCollectionAutomatically" : false,
"numIndexesBefore" : 2,
"ok" : 0,
"errmsg" : "Btree::insert: key too large to index, failing amazon_reviews.review_metadata.$title_1 1860 { : \"***Super Charger*** Ultra Slim 40W AC Power Adapter Cord for Samsung Notebook/UltraBook : NP300U1A, NP300U1A-A01US, NP305U1A, NP305U1A-A01US, NP305U1A...\" }",
"code" : 17282
}
、タイトルフィールド内の値のすべてを検索する方法があります値が大きすぎてインデックスに登録できない場合は、
の可能性のある重複:http://stackoverflow.com/questions/29577713/string-field-value-length-in-mongodb –
同意すると、問題のあるドキュメントを見つけるために最低1012の長さを使用してください。 'db.test.find({title:/ ^。{1012、} $ /})'となります。 – JohnnyHK