Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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) |
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.
Nyisson egy terminált egy üres könyvtárban.
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 loginA projekt inicializálására használható
azd init.azd init --template cosmos-db-mongodb-nodejs-quickstartAz inicializálás során konfiguráljon egy egyedi környezetnevet.
Az Azure Cosmos DB-fiókot a
azd uphasználatával helyezze üzembe. A Bicep-sablonok egy minta webalkalmazást is üzembe helyeznek.azd upA 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.
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.A konzol URL-címével keresse meg a webalkalmazást a böngészőben. Figyelje meg a futó alkalmazás kimenetét.
Telepítse a kliens könyvtárat
Az ügyfélkódtár az npm-ben érhető el csomagként mongodb .
Nyisson meg egy terminált, és keresse meg a
/src/tsmappát.cd ./src/tsHa még nincs telepítve, telepítse a
mongodbcsomagotnpm installhasználatával.npm install --save mongodbNyissa meg és tekintse át az src/ts/package.json fájlt a
mongodbbejegyzés meglétének ellenőrzéséhez.
Nyisson meg egy terminált, és keresse meg a
/src/jsmappát.cd ./src/jsHa még nincs telepítve, telepítse a
mongodbcsomagotnpm installhasználatával.npm install --save mongodbNyissa meg és tekintse át az src/js/package.json fájlt a
mongodbbejegyzés meglétének ellenőrzéséhez.
Könyvtárak importálása
Importálja a típust MongoClient az alkalmazáskódba.
import { MongoClient } from 'mongodb';
Importálja az összes szükséges típust az alkalmazáskódba.
import { Collection, Db, Filter, FindCursor, MongoClient, UpdateFilter, UpdateOptions, UpdateResult, WithId } from 'mongodb';
Objektummodell
| Név | Leírás |
|---|---|
MongoClient |
A MongoDB-hez való csatlakozáshoz használt típus. |
Database |
A fiókban egy adatbázist képvisel. |
Collection |
A fiók adatbázisán belüli gyűjteményt jelöl. |
Kódpéldák
- Az ügyfél hitelesítése
- Adatbázis lekérése
- Gyűjtemény lekérése
- Dokumentum létrehozása
- Dokumentum lekérése
- Dokumentumok lekérdezése
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 /category tulajdonságot szilánkkulcsként használja.
Az ügyfél hitelesítése
Ez a minta létrehoz egy új példányt a MongoClient típusból.
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 létrehoz egy Db típusú példányt a db típus MongoClient függvényének használatával.
const database: Db = client.db("<database-name>");
const database = client.db("<database-name>");
Gyűjtemény lekérése
Ez a minta létrehoz egy Collection típusú példányt a collection típus Db függvényének használatával.
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 collection.updateOne használatával. Ez a módszer hatékonyan helyettesíti az elemet, ha az már létezik, vagy beilleszti, ha nem.
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 --force --purge