Erstellen Sie Testdaten in MongoDB

8

Ich möchte Testdaten für MongoDB generieren. Die Größe sollte 200 MB sein. Ich habe diesen Code ausprobiert:

%Vor%

Wie kann ich Daten genau mit dieser Größe erzeugen?

    
Peter Penzov 01.07.2016, 18:41
quelle

5 Antworten

4

Ich bekomme nicht, was Sie erreichen wollen, indem Sie die Größe 200 MB einstellen.

Sie können logische Prüfungen hinzufügen.

  1. db.testCollection.stats() - Sie können die Größe der Sammlung vor jedem Einfügen überprüfen.

  2. Object.bsonsize(..) - Sie können auch die Dokumentgröße vor dem Einfügen überprüfen, um genau 200 MB zu erstellen.

Und Sie können auch eine gecappte Sammlung erstellen, in der Sie die Anzahl der Dokumente oder die Größe der Sammlung mitteilen können.

Hoffe, das hilft.

    
Somnath Muluk 07.07.2016 11:40
quelle
2

Was ich wahrscheinlich tun würde, ist eine gecappte Sammlung mit einer Größe von 200 MB (209715200 Bytes):

db.createCollection( "ssv", { capped: true, size: 209715200 } )

Fügen Sie dann Datensätze ein, wie Sie es tun. Überprüfen Sie dann in Intervallen innerhalb der Schleife for , ob die Sammlung voll (oder fast voll) ist.

Also in deinem Code, vielleicht (total Pseudocode):

%Vor%     
Robert Udah 07.07.2016 12:20
quelle
2

Warum würden Sie dieselben Daten 100 Mal kopieren, um 200 MB Testdaten zu erhalten? Stattdessen

  

1. Setzen Sie einen Zähler auf den Wert, damit Sie Daten sequentiell generieren können

     

ODER

     
  1. Verwenden Sie die Zufallsfunktion, um zufällige Daten zu erzeugen
  2.   
%Vor%
  

10 Acht Zwei-Byte-Zeichenfolgen und 10 Acht-Byte-Zahlen = & gt; 240B

     

240B * 873813 = 200 MB

    
Chaitanya Bapat 14.07.2016 07:17
quelle
1

Eine schnell dreckige Lösung basierend auf Vorschlägen von Robert Udah und Somnath Muluk:

    
chf 07.07.2016 12:34
quelle
1

Erstellen Sie ein Feld mit dem Typ nvarchar und generieren Sie dann eine TXT-Datei auf Ihrem Desktop mit 200 MB Daten. dann setze diese Zeichenfolge in dieses Feld. das ist es.

    
Saeid 14.07.2016 05:56
quelle

Tags und Links