Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

238
Vistas
Fauna: Seleccione de puro JS

Estoy interesado en usar Fauna desde el navegador de JS puro en modo de solo lectura. O la documentación oficial carece de información comprensible para este caso o no puedo resolverlo. Por favor, ayúdame a entender.

Estoy tratando de ejecutar tal consulta:

 Map(Paginate(Documents(Collection('spells'))), Lambda('x', Get(Var('x'))));

Ejecutar esta consulta desde el shell me da el resultado.

Quiero enviar esta consulta a la variable de JavaScript. Pero no entiendo qué hacer. Aquí está mi código:

 var client = new faunadb.Client({ secret: '320438826900127936', keepAlive: false, domain: 'db.eu.fauna.com', // NOTE: Use the correct domain for your database's Region Group. port: 443, scheme: 'https', }); var helper = client.paginate( q.Match( q.Index('spells'), '101' ) ) paginate.then(function(response) { console.log(response.ref) // Would log the ref to console. })

Por favor, ayúdenme a obtener resultados de la base de datos usando JavaScript puro.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Usando el controlador de JavaScript, todas las funciones de FQL están en el espacio de nombres faunadb.query . Por lo general, los desarrolladores harían esto en la parte superior de sus scripts:

 const faunadb = require('faunadb') const q = faunadb.query

Después de eso, se puede acceder a las funciones FQL usando el objeto q . Por ejemplo: q.Add(1, 2) .

De lo contrario, puede usar la desestructuración para importar funciones FQL al espacio de nombres del script, así:

 const faunadb = require('faunadb') const { Documents, Collection, Get, Index, Lambda, Match, Paginate } = faunadb.query

y luego puede llamar a las funciones FQL "directamente", por ejemplo, Add(1, 2) .

Si usa la desestructuración, asegúrese de importar todas las funciones de FQL que pretende usar en sus consultas. No todas las funciones de FQL se pueden importar "tal cual", ya que algunos de sus nombres colisionarían con los nombres de JavaScript integrados, como Function . Para esos, tienes que asignarlos directamente:

 const FaunaFunction = faunadb.query.Function

Y luego use el nombre local que especificó ( FaunaFunction en este caso) al redactar consultas.

De cualquier manera, la consulta en sí no se envía a Fauna hasta que se llama a la client.query() , o en su caso, client.paginate() .

Eso significa que puede asignar las llamadas a la función FQL a las variables de JavaScript. Con la consulta deseada, podría verse así:

 const spellsQuery = q.Map( q.Paginate( q.Documents(q.Collection('spells')) ), q.Lambda('x', q.Get(q.Var('x'))) )

Entonces puedes hacer esto:

 client.query(spellsQuery) .then(res => console.log(res))

Puede usar client.paginate si solo está realizando la paginación. Su consulta deseada llama a Map , por lo que el ayudante de client.pagination se interpone en su camino. Mi ejemplo usa client.query .

Tenga en cuenta que cuando configura su objeto de conexión de cliente, no necesita especificar las opciones de port y scheme ; ya está utilizando los valores predeterminados. Y es probable que no deba cambiar la opción keepAlive a menos que su flujo de trabajo lo requiera específicamente.

Además, veo que no incluiste un secreto real en tu ejemplo, lo cual es bueno: si incluyeste un secreto real, cualquier persona con ese secreto podría acceder a tu base de datos como tú.

Si desea ver una aplicación completa (pero simple) basada en Fauna que se ejecuta en una página web, consulte: https://github.com/fauna-labs/todo-vanillajs

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda