Ich habe eine Mongodb-Sammlung mit einem Feld, das ich indexieren möchte. Es ist ein String-Feld mit dem Titel "Titel". Es gibt ungefähr 9 Millionen verschiedene Einträge und ich versuche nur, die Misten loszuwerden.Überprüfen Sie durch mongodb colletion für Werte in einem Feld zu groß zum Indexieren
Als ich versuchte, die Indizierung mit:
db.getCollection("review_metadata").createIndex({"title" : 1})
ich diesen Fehler:
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
}
So ist es eine Möglichkeit, durch alle Werte im Titelfeld zu suchen für Werte, die zu groß zum Indexieren wären?
Mögliche Duplikat sein könnte: http://stackoverflow.com/questions/29577713/string-field-value-length-in-mongodb –
Vereinbaren Sie, verwenden Sie eine Mindestlänge von 1012, um die anstößigen Dokumente zu finden. 'db.test.find ({title:/^. {1012,} $ /})'. – JohnnyHK