es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo obtener cursores de cada entidad en la consulta de Google Cloud Datastore?

Estoy trabajando con Google Cloud Datastore en mi aplicación NodeJS. Cuando realizo una consulta, quiero obtener los cursores para cada entidad en la respuesta, sin embargo, por defecto las consultas solo devuelven el cursor final. Por ejemplo, cuando realizo una consulta como esta:

typescript
const query = datastore
.createQuery([‘EntityType’])
.limit(2)
.start(start);
const response = await datastore.runQuery(query);

Obtengo una respuesta que se ve algo así:

[
    [
        {
            name: "BLAH",
            age: 21
        },
        {
            name: "BLAH",
            age: 26
        }
    ],
    {
        moreResults: "BLAHBLAHBLAH",
        endCursor: "BLAH2"
    }
]

¿Existe alguna manera de obtener el cursor para cada entidad en la respuesta? Por ejemplo, quiero que mi respuesta se vea algo así:

[
    [
        {
            name: "BLAH",
            age: 21,
            cursor: "BLAH1"
        },
        {
            name: "BLAH",
            age: 26,
            cursor: "BLAH2"
        }
    ],
    {
        moreResults: "BLAHBLAHBLAH",
        endCursor: "BLAH2"
    }
]

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Sí, es posible obtener el cursor para cada entidad en la respuesta. Puede utilizar el método cursor() en el objeto de consulta para obtener el cursor de cada entidad. Por ejemplo:

    typescript
    const query = datastore
    .createQuery(['EntityType'])
    .limit(2)
    .start(start)
    .cursor();
    const response = await datastore.runQuery(query);

    Esto devolverá una respuesta que se verá así:

    [
        [
            {
                name: "BLAH",
                age: 21,
                cursor: "BLAH1"
            },
            {
                name: "BLAH",
                age: 26,
                cursor: "BLAH2"
            }
        ],
        {
            moreResults: "BLAHBLAHBLAH",
            endCursor: "BLAH2"
        }
    ]
    

Comments are closed.