Saltar al contenido principal

MongoDB Atlas Realm

0. Crear proyecto

npm create cloudflare

1. Crear y configurar la aplicación Atlas

App Service. API Key

1. Crear App Service en blanco (sin plantillas)

MongoDB Atlas App Service

2. Copiar el App ID

App ID

3. Habilitar autenticación mediante API

Habilitar API Key

4. Aplicar cambios

Aplicar cambios

5. Crear API Key

  • Copiar la API Key ya que solo se muestra una vez
  • Solo tenemos un único usuario en nuestra aplicación, ya que solo creamos una única clave API. Crear API Key

App Service. Reglas de Colección

De forma predeterminada, la aplicación no puede acceder a ninguna colección de su clúster MongoDB Atlas. Para definir cómo pueden interactuar los usuarios con los datos, debe definir roles y permisos.

role es un conjunto de permisos con nombre que un usuario final puede tener para un documento al realizar una solicitud a la aplicación. Los roles se evalúan en orden de arriba a abajo utilizando la expresión. apply_when

Ejemplo: En una colección denominada company, cada empleado tiene su propio documento con todos sus datos laborales. Esta colección tiene un rol denominado Empleado . Los usuarios con este rol pueden leer y escribir sus propios datos, pero no pueden crear ni eliminar sus propios documentos:

Aplicar cuando{ "%%user.custom_data.role": "employee" }
Permisos de documentosInsertar X Borrar X Buscar V
Permisos de campoLeer: Todo Escribir: Todo
Filters. Modificar una consulta entrante de MongoDB para que devuelva solo un subconjunto de los resultados que coincidan con la consulta. Los filtros filtrarán los datos que devuelve MongoDB antes de que se evalúen los roles, lo que los hace útiles para mejorar el rendimiento de las solicitudes.

Ejemplo: En una aplicación de votación donde algunos usuarios aceptaron compartir anónimamente su voto, podría usar un filtro para restringir todas las consultas a un subconjunto anónimo de los datos existentes:

Filtrar {"age": {"$gt": 30}}

Colección sin filtros

{ "_id": ObjectId(...), "name": "sarah", age: 42, "vote": "yes"}
{ "_id": ObjectId(...), "name": "andy", age: 22, "vote": "no"}
{ "_id": ObjectId(...), "name": "jennifer", age: 37, "vote": "yes"}
{ "_id": ObjectId(...), "name": "rick", age: 43, "vote": "no"}
{ "_id": ObjectId(...), "name": "tom", age: 64, "vote": "yes"}
{ "_id": ObjectId(...), "name": "bob", age: 67, "vote": "yes"}

Colección filtrada

{ "_id": ObjectId(...), "name": "sarah", age: 42, "vote": "yes"}
{ "_id": ObjectId(...), "name": "jennifer", age: 37, "vote": "yes"}
{ "_id": ObjectId(...), "name": "rick", age: 43, "vote": "no"}
{ "_id": ObjectId(...), "name": "tom", age: 64, "vote": "yes"}
{ "_id": ObjectId(...), "name": "bob", age: 67, "vote": "yes"}

1. Reglas de la Colección

    1. Crear regla
    1. Crear o seleccionar base de datos y colección

Rule

2. Crear regla de validación

  1. Seleccionar base de datos y colección

Cada documento de esta colección pertenecerá a un usuario único definido por el campo owner_id. Este campo contendrá el ID de usuario que puede ver en la pestaña App Users.

Para limitar que los usuarios solo lean y escriban sus propios datos gregue la regla readOwnWriteOwnen el archivo Other presets.

New rule

3. Aplicar cambios

Aply rules

2. Cloudflare Workers

  • El ID de la cuenta se puede encontrar en Workers and Pages, y en la barra izquierda donde dice Detalles de la cuenta