mongodump
skapar en binär export av data från en MongoDB-databas (i BSON-format). Indexets definitioner säkerhetskopieras i <dbname>.metadata.json
filer, så mongorestore
kan återskapa originaldata och index.
Det finns två huvudorsaker till att de faktiska indexen inte kan säkerhetskopieras med mongodump
:
-
Index pekar på platser i datafilerna. Datafilerna existerar inte om du bara exporterar dokumenten i datafilerna (istället för att ta en fullständig filkopia av datafilerna).
-
Formatet för index på disken är lagringsmotorspecifikt, medan
mongodump
är avsett att vara lagringsmotoroberoende.
Om du vill ha en fullständig säkerhetskopia av data och index måste du säkerhetskopiera genom att kopiera de underliggande datafilerna
(vanligtvis genom att använda filsystem eller EBS ögonblicksbilder). Detta är ett vanligare alternativ för större distributioner, som mongodump
kräver att all data läses in i mongod
process (som kommer att avhysa en del av din arbetsuppsättning om din databas är större än minnet).