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)

2. Copiar el App ID

3. Habilitar autenticación mediante API

4. 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.

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 documentos | Insertar X Borrar X Buscar V |
| Permisos de campo | Leer: 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
-
- Crear regla
-
- Crear o seleccionar base de datos y colección

2. Crear regla de validación
- 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.

3. Aplicar cambios
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