Aracılığıyla paylaş


JavaScript kullanarak MongoDB için Azure Cosmos DB'de bir koleksiyonu yönetme

ŞUNLAR IÇIN GEÇERLIDIR: MongoDB

Azure Cosmos DB'de depolanan MongoDB koleksiyonunuzu yerel MongoDB istemci sürücüsüyle yönetin.

Not

Örnek kod parçacıkları GitHub'da JavaScript projesi olarak kullanılabilir.

MongoDB için API başvuru belgeleri | MongoDB Paketi (npm)

Koleksiyonu adlandırma

Azure Cosmos DB'de koleksiyon, ilişkisel veritabanındaki tabloya benzer. Koleksiyon oluşturduğunuzda, koleksiyon adı koleksiyon kaynağına ve alt belgelere erişmek için kullanılan URI'nin bir kesimini oluşturur.

Koleksiyon örneğini alma

Sunucudaki koleksiyona erişmek için Collection sınıfının bir örneğini kullanın.

Aşağıdaki kod parçacıkları, istemci bağlantınızı zaten oluşturduğunuzu ve bu kod parçacıklarından sonra istemci bağlantınızı kapattığınız varsayılır.

Koleksiyon oluşturma

Koleksiyon oluşturmak için koleksiyona bir belge ekleyin.

// 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)}`);

Koleksiyon bırakma

Koleksiyonu kalıcı olarak kaldırmak için veritabanından bırakın. Ancak, koleksiyona erişen sonraki ekleme veya güncelleştirme işlemi bu ada sahip yeni bir koleksiyon oluşturur.

// 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)}`);

Yukarıdaki kod parçacığı aşağıdaki örnek konsol çıkışını görüntüler:

Collection dropped:     true
Collection dropped:     true
done

Koleksiyon dizinlerini alma

MongoDB sorgu altyapısı tarafından veritabanı sorgularının performansını geliştirmek için bir dizin kullanılır.

// 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`)}`
);

Yukarıdaki kod parçacığı aşağıdaki örnek konsol çıkışını görüntüler:

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

Ayrıca bkz.