Hinzufügen neuer Eigenschaften zu jedem Dokument in einer großen Sammlung

8

Mit der mongodb-Shell versuche ich, jedem Dokument in einer großen Sammlung eine neue Eigenschaft hinzuzufügen. Die Auflistung (Auflistung) hat eine vorhandene Eigenschaft namens Adresse. Ich versuche nur, eine neue Eigenschaft namens LowerCaseAddress hinzuzufügen, die für die Suche verwendet werden kann, so dass ich nicht eine Groß-und Kleinschreibung Regex für die Adressübereinstimmung verwenden muss, die langsam ist.

Hier ist das Skript, das ich in der Shell verwenden wollte:

%Vor%

Es lief für ~ 6 Stunden und dann stürzte mein PC ab. Gibt es eine bessere Möglichkeit, jedem Dokument in einer großen Sammlung (~ 4 Millionen Datensätze) eine neue Eigenschaft hinzuzufügen?

    
Justin 31.05.2011, 13:16
quelle

2 Antworten

17

Sie JavaScript hat nicht funktioniert, aber der folgende Code funktioniert. Aber ich wusste nicht, wie lange es für 4 Millionen Datensätze braucht.

%Vor%     
David Raab 31.05.2011, 14:39
quelle
1

Sie können updateMany auch dafür verwenden:

try { db.<collection>.updateMany( {}, {$set: { LowerCaseAddress: item.Address.toLowerCase() } } ); } catch(e) { print(e); }

    
timelf123 12.09.2016 16:02
quelle