Pergunta

Eu gostaria de determinar em que lugar está em uma entrada específica, mas a consulta GQL apropriada está me escapando. Idealmente, eu gostaria de saber os seguintes detalhes, que parecem ser conhecidos pelo DataStore. Eu simplesmente não consigo descobrir como determinar. Alguém pode ajudar?

  • A colocação de uma entrada específica (em uma determinada classificação, ou seja, por uma propriedade específica)
  • O número total de entradas que existem (sem recuperá -las, apenas a contagem)
  • A próxima entrada da lista (eu imagino que, desde que eu possa obter o posicionamento, posso fazer a consulta certa para obter a próxima, simplesmente obtendo 2 e pegando o último)

Alguém pode ajudar?

Foi útil?

Solução

Se você estiver usando o python, confira o Google-App-Engine-Ranklist Projeto, que implementa uma lista de classificação no armazenamento de dados do mecanismo de aplicativos.

Outras dicas

O GQL é muito limitado e realmente só existe para dar às pessoas presas em uma mentalidade SQL uma transição um pouco mais fácil para usar o armazenamento de dados do App Engine. Você não pode fazer nada das coisas que deseja fazer com a sintaxe GQL.

Supondo que você esteja usando o Python, o segundo pode ser feito chamando o método .Count () de um objeto DB.Query ou db.gqlquery, com a ressalva de que você deve especificar o número máximo para contar como parâmetro para contar () , e que esse máximo não pode ser maior que 1000.

Você não pode encontrar uma entrada específica no conjunto de resultados sem buscar todos eles e procurá -lo. O último então se torna trivial, já que você já estava buscando todas as entidades e só precisa buscar o próximo.

Nada disso será eficiente; O armazenamento de dados não foi projetado para fazer esse tipo de coisa.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top