Ir al contenido principal

Introducción

Descripción

Dynamoose es una herramienta modelo para Amazon's DynamoDB. Dynamoose está fuertemente inspirado en Mongoose, lo que significa que si vienes de Mongoose la sintaxis será bastante familiar.

Características clave

  • Seguridad de tipos
  • Alto nivel API
  • Sintaxis fácil de usar
  • Soporte para diseño de tabla única DynamoDB
  • Capacidad para transformar datos antes de guardar o recuperar elementos
  • Modelado estricto de datos (validación, atributos requeridos y más)
  • Soporte para transacciones de DynamoDB
  • Poderoso soporte Condicional/Filtrado
  • Llamada & Soporte de promesa
  • Soporte multiregional de AWS
Introducción a Dynamoose por rrainn Learn

Example

import * as dynamoose from "dynamoose";
import * as crypto from "crypto";

// Create a new Dynamoose model
const Book = dynamoose.model("Book", {
"id": {
"type": String,
"hashKey": true,
"default": () => crypto.randomUUID()
},
"title": {
"type": String,
"required": true
},
"author": {
"type": String,
"required": true
},
"publishedDate": {
"type": Date,
"required": true
},
"genre": {
"type": String,
"required": true,
"enum": [
"fantasy",
"sci-fi",
"mystery",
"thriller",
"romance",
"non-fiction",
"horror",
"biography",
"autobiography",
"poetry",
"children's",
"young-adult",
"other"
]
},
"summary": String,
"pageCount": Number
});

// Add a new item to the Book table
const newBook = new Book({
"title": "Harry Potter and the Philosopher's Stone",
"author": "J.K. Rowling",
"publishedDate": new Date("1997-06-26"),
"genre": "fantasy",
"summary": "The story of a young wizard who discovers he is a wizard and attends a magical school.",
"pageCount": 223
});
await newBook.save();

// Retrieve all items from the Book table
const allBooks = await Book.scan().exec();
console.log(allBooks);