Aracılığıyla paylaş


JavaScript kullanarak NoSQL için Azure Cosmos DB'de öğeleri sorgulama

UYGULANANLAR: NoSQL

Azure Cosmos DB'deki öğeler bir kapsayıcıda depolanan varlıkları temsil eder. NoSQL API'sinde bir öğe, benzersiz tanımlayıcıya sahip JSON biçimli verilerden oluşur. NoSQL için API'yi kullanarak sorgular gönderdiğinizde, sonuçlar JSON belgelerinin JSON dizisi olarak döndürülür.

SQL kullanarak öğeleri sorgulama

NoSQL için Azure Cosmos DB, kapsayıcılardaki öğeler üzerinde sorgular gerçekleştirmek için Yapılandırılmış Sorgu Dili (SQL) kullanımını destekler. gibi SELECT * FROM products basit bir SQL sorgusu, kapsayıcıdaki tüm öğeleri ve özellikleri döndürür. Sorgular daha da karmaşık olabilir ve belirli alan projeksiyonları, filtreler ve diğer yaygın SQL yan tümcelerini içerebilir:

SELECT 
    p.name, 
    p.quantity
FROM 
    products p 
WHERE 
    p.quantity > 500

NoSQL için Azure Cosmos DB'ye yönelik SQL söz dizimi hakkında daha fazla bilgi edinmek için bkz . SQL sorgularını kullanmaya başlama.

Öğeyi sorgulama

Sorgu yöntemini kullanarak kapsayıcının items nesnesinden eşleşen öğeler dizisi oluşturun.

const querySpec = {
    query: `SELECT * FROM ${container.id} f WHERE  f.name = @name`,
    parameters: [{
        name: "@name",
        value: "Sunnox Surfboard",
    }],
};
const { resources } = await container.items.query(querySpec).fetchAll();

for (const product of resources) {
  console.log(`${product.name}, ${product.quantity} in stock `);
}

Sorgu yöntemi bir QueryIterator nesnesi döndürür. Tüm sonuçları almak için yineleyicinin fetchAll yöntemini kullanın. QueryIterator sonuçları kullanmanıza yardımcı olmak için fetchNext, hasMoreResults ve diğer yöntemleri de sağlar.

Sonraki adımlar

Artık birden çok öğeyi sorguladığınıza göre, NoSQL için API ile uçtan uca öğreticilerimizden birini deneyin.