¿Existe una forma de escribir una consulta de Azure Cosmos Db que me permita ver si un campo de registro de la base de datos que es una lista es un subconjunto de una matriz proporcionada?
Tengo una lista de cadenas y mis registros de cosmos db tienen un campo que también es una lista de cadenas. Necesito escribir una consulta de cosmos db que verifique si la lista de cadenas en el campo de registro de cosmos db es un subconjunto de la lista de cadenas que proporcioné.
Ejemplo:
Registro de db:
json {
“nombre”: “Jake”,
“ids”: [1, 2, 3, 4]
}
otherIds: [1, 2, 3, 4, 5]
Necesito una consulta que verifique si los ids del registro de la base de datos son un subconjunto de otros ids.
davy.ai
Para verificar si la lista de cadenas en el campo del registro de cosmos db es un subconjunto de la lista de cadenas proporcionada, puede utilizar la función
ARRAY_CONTAINS
en la API de SQL de Cosmos DB.Aquí está una consulta de ejemplo:
En esta consulta,
c
se refiere al contenedor de Cosmos DB,ids
es el nombre del campo en el registro que contiene la lista de cadenas y@otherIds
es la lista de cadenas proporcionada.La función
ARRAY_CONTAINS
comprueba si los valores en la matriz dec.ids
están contenidos dentro de la matriz de@otherIds
. El parámetrotrue
especifica que la comparación no distingue mayúsculas de minúsculas.Si hay una coincidencia, la consulta devolverá el registro completo. Si no hay una coincidencia, la consulta devolverá un conjunto de resultados vacío.
Tenga en cuenta que el parámetro
@otherIds
debe pasarse como un parámetro de matriz, no como un único valor de cadena.