Megosztás a következőn keresztül:


Rövid útmutató: Az Azure Cosmos DB használata MongoDB-hez (RU) Node.js

Ebben a rövid útmutatóban üzembe helyez egy alapszintű Azure Cosmos DB for MongoDB-alkalmazást a Python használatával. Az Azure Cosmos DB for MongoDB egy séma nélküli adattár, amellyel az alkalmazások strukturálatlan dokumentumokat tárolnak a felhőben MongoDB-kódtárakkal. Megtudhatja, hogyan hozhat létre dokumentumokat, és hogyan hajthat végre alapvető feladatokat az Azure Cosmos DB-erőforrásban a Python használatával.

Kódtár forráskódcsomagja (npm) | Azure Developer CLI |

Előfeltételek

  • Azure Developer CLI
  • Docker Desktop
  • Node.js 22 vagy újabb

Ha még nem rendelkezik Azure-fiókkal, első lépésként hozzon létre egy ingyenes fiókot.

A projekt inicializálása

Az Azure Developer CLI (azd) használatával hozzon létre egy Azure Cosmos DB for Table-fiókot, és helyezzen üzembe egy tárolóalapú mintaalkalmazást. A mintaalkalmazás az ügyfélkódtárat használja a mintaadatok kezelésére, létrehozására, olvasására és lekérdezésére.

  1. Nyisson meg egy terminált egy üres könyvtárban.

  2. Ha még nincs hitelesítve, jelentkezzen be az Azure Developer CLI-be a használatával azd auth login. Kövesse az eszköz által megadott lépéseket a parancssori felületre való hitelesítéshez az ön által előnyben részesített Azure-hitelesítő adatokkal.

    azd auth login
    
  3. A projekt inicializálására használható azd init .

    azd init --template cosmos-db-mongodb-nodejs-quickstart
    
  4. Az inicializálás során konfiguráljon egy egyedi környezetnevet.

  5. Az Azure Cosmos DB-fiók üzembe helyezése a következő használatával azd up: . A Bicep-sablonok egy minta webalkalmazást is üzembe helyeznek.

    azd up
    
  6. A kiépítési folyamat során válassza ki az előfizetést, a kívánt helyet és a célerőforrás-csoportot. Várja meg, amíg a kiépítési folyamat befejeződik. A folyamat körülbelül öt percet vehet igénybe.

  7. Az Azure-erőforrások kiépítése után a kimenet tartalmazza a futó webalkalmazás URL-címét.

    Deploying services (azd deploy)
    
      (✓) Done: Deploying service web
    - Endpoint: <https://[container-app-sub-domain].azurecontainerapps.io>
    
    SUCCESS: Your application was provisioned and deployed to Azure in 5 minutes 0 seconds.
    
  8. A konzol URL-címével keresse meg a webalkalmazást a böngészőben. Figyelje meg a futó alkalmazás kimenetét.

Képernyőkép a futó webalkalmazásról.

Képernyőkép a futó webalkalmazásról.

Telepítse az ügyfélkódtárat

Az ügyfélkódtár az npm-ben érhető el csomagként mongodb .

  1. Nyisson meg egy terminált, és keresse meg a /src/ts mappát.

    cd ./src/ts
    
  2. Ha még nincs telepítve, telepítse a csomagot a mongodb következővel npm install: .

    npm install --save mongodb
    
  3. Nyissa meg és tekintse át az src/ts/package.json fájlt a mongodb bejegyzés meglétének ellenőrzéséhez.

  1. Nyisson meg egy terminált, és keresse meg a /src/js mappát.

    cd ./src/js
    
  2. Ha még nincs telepítve, telepítse a csomagot a mongodb következővel npm install: .

    npm install --save mongodb
    
  3. Nyissa meg és tekintse át az src/js/package.json fájlt a mongodb bejegyzés meglétének ellenőrzéséhez.

Objektummodell

Név Leírás
MongoClient A MongoDB-hez való csatlakozáshoz használt típus.
Database Egy adatbázist jelöl a fiókban.
Collection A fiók adatbázisán belüli gyűjteményt jelöl.

Kódpéldák

A sablon mintakódja egy névvel ellátott cosmicworks adatbázist és egy nevű gyűjteményt productshasznál. A products gyűjtemény olyan részleteket tartalmaz, mint a név, a kategória, a mennyiség és az egyes termékek egyedi azonosítója. A gyűjtemény a tulajdonságot /category szilánkkulcsként használja.

Az ügyfél hitelesítése

Ez a minta létrehoz egy új típusú példányt MongoClient .

const connectionString = "<azure-cosmos-db-for-mongodb-connection-string>";

const client = new MongoClient(connectionString);
const connectionString = "<azure-cosmos-db-for-mongodb-connection-string>";

const client = new MongoClient(connectionString);

Adatbázis lekérése

Ez a minta a Db típus egy példányát hozza létre a db típus függvényével MongoClient .

const database: Db = client.db("<database-name>");
const database = client.db("<database-name>");

Gyűjtemény lekérése

Ez a minta a Collection típus egy példányát hozza létre a collection típus függvényével Db .

Ez a függvény egy általános paraméterrel rendelkezik, amely az Product illesztőben definiált típust használja.

const collection: Collection<Product> = database.collection<Product>("<collection-name>");
export interface Product {
    _id: string;
    category: string;
    name: string;
    quantity: number;
    price: number;
    clearance: boolean;
}
const collection = database.collection("<collection-name>");

Dokumentum létrehozása

Dokumentum létrehozása a gyűjteményben a következő használatával collection.updateOne: . Ez a metódus "upserts" az elemet hatékonyan cserélje le, ha már létezik.

var document: Product = {
    _id: 'aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb',
    category: 'gear-surf-surfboards',
    name: 'Yamba Surfboard',
    quantity: 12,
    price: 850.00,
    clearance: false
};

var query: Filter<Product> = {
    _id: 'aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb',
    category: 'gear-surf-surfboards'
};
var payload: UpdateFilter<Product> = {
    $set: document
};
var options: UpdateOptions = {
    upsert: true
};
var response: UpdateResult<Product> = await collection.updateOne(query, payload, options);
var document = {
    _id: 'aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb',
    category: 'gear-surf-surfboards',
    name: 'Yamba Surfboard',
    quantity: 12,
    price: 850.00,
    clearance: false
};

const query = {
    _id: 'aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb',
    category: 'gear-surf-surfboards'
};
const payload = {
    $set: document
};
const options = {
    upsert: true,
    new: true
};
var response = await collection.updateOne(query, payload, options);

Dokumentum olvasása

Végezzen pontolvasási műveletet az egyedi azonosító (id) és a szegmenskulcs mezőinek használatával. Az adott elem hatékony lekérésére használható collection.findOne .

var query: Filter<Product> = { 
    _id: 'aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb', 
    category: 'gear-surf-surfboards' 
};

var response: WithId<Product> | null = await collection.findOne(query);
var query = { 
    _id: 'aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb', 
    category: 'gear-surf-surfboards' 
};

var response = await collection.findOne(query);

Dokumentumok lekérdezése

Lekérdezés végrehajtása egy tároló több eleme felett a következő használatával collection.find: . Ez a lekérdezés megkeresi a megadott kategórián (szegmenskulcson) belüli összes elemet.

var query: Filter<Product> = { 
    category: 'gear-surf-surfboards' 
};

var response: FindCursor<WithId<Product>> = await collection.find(query);
for await (const item of response) {
    // Do something with each item
}
var query = { 
    category: 'gear-surf-surfboards' 
};

var response = await collection.find(query);
for await (const item of response) {
    // Do something with each item
}

Az adatok felfedezése

A MongoDB-adatok megismeréséhez használja az Azure Cosmos DB Visual Studio Code-bővítményét. Alapvető adatbázisműveleteket hajthat végre, beleértve, de nem kizárólagosan az alábbiakat:

  • Lekérdezések végrehajtása egy album vagy a lekérdezésszerkesztő használatával
  • Dokumentumok módosítása, frissítése, létrehozása és törlése
  • Tömeges adatok importálása más forrásokból
  • Adatbázisok és gyűjtemények kezelése

További információ: A Visual Studio Code bővítmény használata az Azure Cosmos DB for MongoDB-adatok megismeréséhez.

Az erőforrások eltávolítása

Ha már nincs szüksége a mintaalkalmazásra vagy erőforrásokra, távolítsa el a megfelelő üzembe helyezést és az összes erőforrást.

azd down