Udostępnij za pomocą


Zarządzanie kolekcją w usłudze Azure Cosmos DB dla bazy danych MongoDB przy użyciu języka JavaScript

DOTYCZY: MongoDB

Zarządzaj kolekcją bazy danych MongoDB przechowywaną w usłudze Azure Cosmos DB przy użyciu natywnego sterownika klienta bazy danych MongoDB.

Uwaga

Przykładowe fragmenty kodu są dostępne w witrynie GitHub jako projekt JavaScript.

Dokumentacja referencyjna interfejsu API dla bazy danych | MongoDB — pakiet MongoDB (npm)

Nazwij kolekcję

W usłudze Azure Cosmos DB kolekcja jest analogiczna do tabeli w relacyjnej bazie danych. Podczas tworzenia kolekcji nazwa kolekcji tworzy segment identyfikatora URI używanego do uzyskiwania dostępu do zasobu kolekcji i wszystkich podrzędnych dokumentów.

Pobieranie wystąpienia kolekcji

Użyj wystąpienia klasy Collection , aby uzyskać dostęp do kolekcji na serwerze.

W poniższych fragmentach kodu przyjęto założenie, że połączenie klienta zostało już utworzone i zamknięcie połączenia klienta po fragmentach kodu.

Tworzenie kolekcji

Aby utworzyć kolekcję, wstaw dokument do kolekcji.

// get database client for database
// if database or collection doesn't exist, it is created
// when the doc is inserted

// insert doc
const doc = { name: `product-${random}` };
const insertOneResult = await client
  .db('adventureworks')
  .collection('products')
  .insertOne(doc);
console.log(`Insert 1 - ${JSON.stringify(insertOneResult)}`);

// insert docs
const docs = [{ name: `product-${random}` }, { name: `product-${random}` }];
const insertManyResult = await client
  .db('adventureworks')
  .collection('products')
  .insertMany(docs);
console.log(`Insert many ${JSON.stringify(insertManyResult)}`);

Usuwanie kolekcji

Usuń kolekcję z bazy danych, aby ją trwale usunąć. Jednak następna operacja wstawiania lub aktualizowania, która uzyskuje dostęp do kolekcji, spowoduje utworzenie nowej kolekcji o tej nazwie.

// Drop the collection from the database, removing it permanently.
// New accesses will create a new collection.

// drop from db instance
const dropCollection1 = await client
  .db('adventureworks')
  .dropCollection('products');
console.log(`Collection dropped:\t${JSON.stringify(dropCollection1)}`);

// drop from collection instance
const dropCollection2 = await client
  .db('adventureworks')
  .collection('products-2')
  .drop();
console.log(`Collection dropped:\t${JSON.stringify(dropCollection2)}`);

Powyższy fragment kodu wyświetla następujące przykładowe dane wyjściowe konsoli:

Collection dropped:     true
Collection dropped:     true
done

Pobieranie indeksów kolekcji

Indeks jest używany przez aparat zapytań bazy danych MongoDB w celu zwiększenia wydajności zapytań bazy danych.

// Get all indexes in collection
const collectionInstance = await client
  .db('adventureworks')
  .collection('products');
const indexes = await collectionInstance.indexes();
console.log(
  `Indexes on collection:\n${Object.keys(indexes).map(key => `\t${key}: ${JSON.stringify(indexes[key])}\n`)}`
);

Powyższy fragment kodu wyświetla następujące przykładowe dane wyjściowe konsoli:

Indexes on collection:
        0: {"v":1,"key":{"_id":1},"name":"_id_","ns":"adventureworks.products"}
,       1: {"v":1,"key":{"name":1},"name":"name_1","ns":"adventureworks.products"}

done

Zobacz też