Tutorial: Consulta de datos en Azure Cosmos DB for NoSQL
SE APLICA A: NoSQL
Azure Cosmos DB for NoSQL admite la consulta de documentos mediante la sintaxis de consulta integrada. En este artículo se proporciona un documento de ejemplo y dos consultas de ejemplo y los resultados.
En este artículo se tratan las tareas siguientes:
- Consulta de datos NoSQL con la sintaxis de consulta integrada
Requisitos previos
En este tutorial se da por supuesto que tiene una cuenta, una base de datos y un contenedor de Azure Cosmos DB.
¿No tiene ninguno de esos recursos? Complete este inicio rápido: Creación de una cuenta, una base de datos, un contenedor y elementos de Azure Cosmos DB desde Azure Portal.
Puede ejecutar las consultas mediante el Explorador de Azure Cosmos DB en Azure Portal. También puede ejecutar consultas mediante la API de REST o distintos SDK.
Para obtener más información sobre las consultas, consulte introducción a las consultas.
Documento de ejemplo
En las consultas de este artículo se usa el documento de ejemplo siguiente.
{
"id": "WakefieldFamily",
"parents": [
{ "familyName": "Wakefield", "givenName": "Robin" },
{ "familyName": "Miller", "givenName": "Ben" }
],
"children": [
{
"familyName": "Merriam",
"givenName": "Jesse",
"gender": "female", "grade": 1,
"pets": [
{ "givenName": "Goofy" },
{ "givenName": "Shadow" }
]
},
{
"familyName": "Miller",
"givenName": "Lisa",
"gender": "female",
"grade": 8
}
],
"address": { "state": "NY", "county": "Manhattan", "city": "NY" },
"creationDate": 1431620462,
"isRegistered": false
}
Seleccionar todos los campos y aplicar un filtro
Dado el documento de familia de ejemplo, la consulta siguiente devuelve los documentos donde el campo Id. coincide con WakefieldFamily
. Puesto que es una instrucción SELECT *
, la salida de la consulta es el documento JSON completo:
Consulta:
SELECT *
FROM Families f
WHERE f.id = "WakefieldFamily"
Resultados:
{
"id": "WakefieldFamily",
"parents": [
{ "familyName": "Wakefield", "givenName": "Robin" },
{ "familyName": "Miller", "givenName": "Ben" }
],
"children": [
{
"familyName": "Merriam",
"givenName": "Jesse",
"gender": "female", "grade": 1,
"pets": [
{ "givenName": "Goofy" },
{ "givenName": "Shadow" }
]
},
{
"familyName": "Miller",
"givenName": "Lisa",
"gender": "female",
"grade": 8
}
],
"address": { "state": "NY", "county": "Manhattan", "city": "NY" },
"creationDate": 1431620462,
"isRegistered": false
}
Seleccionar un producto cruzado de un campo de colección secundaria
La consulta siguiente devuelve todos los nombres de los hijos de la familia cuyos identificadores coincidan con WakefieldFamily
.
Consulta:
SELECT c.givenName
FROM Families f
JOIN c IN f.children
WHERE f.id = 'WakefieldFamily'
Resultados:
[
{
"givenName": "Jesse"
},
{
"givenName": "Lisa"
}
]
Pasos siguientes
En este tutorial, ha realizado las tareas siguientes:
- Ha aprendido a consultar mediante la sintaxis de consulta integrada
Ahora puede continuar con el tutorial siguiente para obtener información sobre cómo distribuir sus datos globalmente.