Todos os produtos
Search
Central de documentação

Tablestore:Consulta de existência

Última atualização: Jul 03, 2026

Uma consulta de existência também é conhecida como consulta NULL ou consulta de valor NULL. Esse tipo de consulta verifica se uma coluna específica existe em uma linha de dados esparsos. Por exemplo, consulte as linhas nas quais a coluna address não está vazia.

Nota
  • Para executar uma consulta de existência em uma coluna Nested, use a consulta aninhada (nested query).

  • Para verificar se uma coluna contém valores vazios, combine ExistsQuery com mustNotQueries do BoolQuery.

  • O sistema considera que uma coluna não existe quando uma das condições abaixo é atendida. Neste exemplo, usa-se a coluna city.

    • Se o tipo da coluna city no índice de pesquisa for básico, como keyword, e a linha correspondente na tabela de dados não possuir essa coluna, o índice de pesquisa tratará a coluna city como inexistente.

    • Se o tipo da coluna city no índice de pesquisa for básico, como keyword, e o valor dessa coluna na tabela de dados for um array vazio ("city" = "[]"), o índice de pesquisa considerará que a coluna city não existe.

Pré-requisitos

Parâmetros

Parâmetro

Descrição

TableName

Nome da tabela de dados.

IndexName

Nome do índice de pesquisa.

Query

Tipo da consulta. Defina este parâmetro como ExistsQuery.

FieldName

Nome da coluna a ser consultada. Especifique o nome da coluna que você deseja consultar.

Exemplo

O código de exemplo a seguir demonstra como consultar linhas em que a coluna especificada não está vazia:

func ExitsQuery(client *tablestore.TableStoreClient, tableName string, indexName string) {
    searchRequest := &tablestore.SearchRequest{}
    searchRequest.SetTableName(tableName)
    searchRequest.SetIndexName(indexName)
    query := &search.ExitsQuery{} // Set the query type to ExitsQuery. 
    query.FieldName = "city" // Specify the name of the column that you want to query. 
    searchQuery := search.NewSearchQuery()
    searchQuery.SetQuery(query)
    searchQuery.SetGetTotalCount(true)
    searchRequest.SetSearchQuery(searchQuery)
    // Return all columns in the rows that meet the query conditions. 
    searchRequest.SetColumnsToGet(&tablestore.ColumnsToGet{
        ReturnAll:true,
    })
    searchResponse, err := client.Search(searchRequest)
    if err != nil {
        fmt.Printf("%#v", err)
        return
    }
    fmt.Println("IsAllSuccess: ", searchResponse.IsAllSuccess) // Check whether all rows that meet the query conditions are returned. 
    fmt.Println("TotalCount: ", searchResponse.TotalCount) // Specify that the total number of rows that meet the query conditions instead of the number of returned rows is displayed. 
    fmt.Println("RowCount: ", len(searchResponse.Rows))
    for _, row := range searchResponse.Rows {
        jsonBody, err := json.Marshal(row)
        if err != nil {
            panic(err)
        }
        fmt.Println("Row: ", string(jsonBody))
    }
}

Perguntas frequentes

Referências