Dela via


Migrera MongoDB till Azure Cosmos DB för MongoDB vCore offline med hjälp av inbyggda MongoDB-verktyg

GÄLLER FÖR: MongoDB vCore

I den här självstudien använder du inbyggda MongoDB-verktyg för att utföra en offlinemigrering (engångsmigrering) av en databas från en lokal eller molninstans av MongoDB till Azure Cosmos DB för MongoDB vCore. De inbyggda MongoDB-verktygen är en uppsättning binärfiler som underlättar datamanipulering på en befintlig MongoDB-instans. Fokus för det här dokumentet är att migrera data från en MongoDB-instans med mongoexport /mongoimport eller mongodump/mongorestore. Eftersom de inbyggda verktygen ansluter till MongoDB med hjälp av anslutningssträng kan du köra verktygen var som helst. De inbyggda verktygen kan vara den enklaste lösningen för små datauppsättningar där total migreringstid inte är något problem.

Förutsättningar

Förbereda

Innan du påbörjar migreringen kontrollerar du att du har förberett ditt Azure Cosmos DB för MongoDB vCore-kontot och din befintliga MongoDB-instans för migrering.

  • MongoDB-instans (källa)
    • Slutför utvärderingen före utvandringen för att avgöra om det finns en lista över inkompatibiliteter och varningar mellan källinstansen och målkontot.
    • Kontrollera att dina inbyggda MongoDB-verktyg matchar samma version som den befintliga (källan) MongoDB-instansen.
      • Om din MongoDB-instans har en annan version än Azure Cosmos DB för MongoDB vCore installerar du båda mongoDB-verktygsversionerna och använder lämplig verktygsversion för MongoDB respektive Azure Cosmos DB för MongoDB vCore.
    • Lägg till en användare med readWrite behörigheter, såvida det inte redan finns någon. Du använder så småningom den här autentiseringsuppgiften med mongoexport- och mongodump-verktygen.
  • Azure Cosmos DB for MongoDB vCore (mål)

Dricks

Vi rekommenderar att du kör dessa verktyg i samma nätverk som MongoDB-instansen för att undvika ytterligare brandväggsproblem.

Välj rätt ursprungligt MongoDB-verktyg

Det finns vissa överväganden på hög nivå när du väljer rätt mongoDB-inbyggda verktyg för offlinemigreringen.

Utföra migreringen

Migrera en samling från MongoDB-källinstansen till målets Azure Cosmos DB for MongoDB vCore-konto med ditt önskade interna verktyg. Mer information om hur du väljer ett verktyg finns i interna MongoDB-verktyg

Dricks

Om du bara har en liten JSON-fil som du vill importera till Azure Cosmos DB för MongoDB vCore är mongoimport-verktyget en snabb lösning för att mata in data.

  1. Om du vill exportera data från MongoDB-källinstansen öppnar du en terminal och använder någon av tre metoder som anges här.

    • Ange argumenten --host, --usernameoch --password för att ansluta till och exportera JSON-poster.

      mongoexport \
          --host <hostname><:port> \
          --username <username> \
          --password <password> \
          --db <database-name> \
          --collection <collection-name> \
          --out <filename>.json
      
    • Exportera en delmängd av MongoDB-data genom att lägga till ett --query argument. Det här argumentet säkerställer att verktyget endast exporterar dokument som matchar filtret.

      mongoexport \
          --host <hostname><:port> \
          --username <username> \
          --password <password> \
          --db <database-name> \
          --collection <collection-name> \
          --query '{ "quantity": { "$gte": 15 } }' \
          --out <filename>.json
      
    • Exportera data från Azure Cosmos DB för MongoDB vCore.

      mongoexport \
          --uri <target-connection-string>
          --db <database-name> \
          --collection <collection-name> \
          --query '{ "quantity": { "$gte": 15 } }' \
          --out <filename>.json
      
  2. Importera den tidigare exporterade filen till målets Azure Cosmos DB för MongoDB vCore-kontot.

    mongoimport \
        --file <filename>.json \
        --type json \
        --db <database-name> \
        --collection <collection-name> \
        --ssl \
        --uri <target-connection-string>
    
  3. Övervaka terminalutdata från mongoimport. Utdata skriver ut textrader till terminalen med uppdateringar om importåtgärdens status.

Gå vidare