DynamoDB: TypeError: BlogPost.Scan не является функцией - PullRequest
0 голосов
/ 20 апреля 2020

Я практикую Динамодб. Для подключения AWS DynamoDB я использовал dynamicodb- npm. Я использовал узел express в качестве сервера, а для отправки и получения запроса я использовал Почтальон. Я могу отправить данные в Dynamodb, но когда я пытаюсь получить метод get для получения данных, я получаю сообщение об ошибке TypeError: BlogPost.Scan is not a function. Я проверил AWS документацию , но не нашел ни одного примера.

Это настройка DynamoDB

const dynamo = require("dynamodb");
const Joi = require("joi");
dynamo.AWS.config.update({
  accessKeyId: "********",
  secretAccessKey: "M******",
  region: "us-east-1"
});

const BlogPost = dynamo.define("BlogPost", {
  hashKey: "email",
  rangeKey: "title",
  timestamps: true,
  schema: {
    email: Joi.string().email(),
    title: Joi.string(),
    content: Joi.string(),
    tags: Joi.number()
  }
});

// dynamo.createTables(function(err) {
//   if (err) {
//     console.log("Error creating tables: ", err);
//   } else {
//     console.log("Tables has been created");
//   }
// });

module.exports = BlogPost;

Это мой узел Express настройка

const express = require("express");
const app = express();
const BlogPost = require("./db");
app.use(express.json());

app.get("/blogs", async (req, res, next) => {
  try {
    const blogs = await BlogPost.Scan(); //THIS IS WHERE ERROR HAPPENING
    res.json(blogs);
  } catch (error) {
    console.log(error);
  }
});

app.post("/publish", async (req, res, next) => {
  try {
    const logs = new BlogPost(req.body);
    const entry = await logs.save();
    res.json(entry);
  } catch (error) {
    if (error.name === "ValidationError") {
      res.status(422);
    }
    next(error);
  }
});

const port = process.env.PORT || 5000;
app.listen(port, () => console.log(`? App is listening at port ${port}!`));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...