Способ отображения данных MongoDB на домашней странице - PullRequest
0 голосов
/ 20 октября 2019

У меня есть база данных MongoDB, которую я хочу показать на внешнем интерфейсе моего сайта. Я использую Экспресс. Каждые данные имеют категорию. Я хочу показать данные по этой категории. Простите, если это слишком основной вопрос. Я новичокЛюбая идея относительно этого была бы очень полезна. Заранее спасибо.

1 Ответ

0 голосов
/ 20 октября 2019

Баннер

Для просмотра данных из mongodb в приложении Angular (или любом другом интерфейсе) необходимо настроить промежуточное ПО. Я вижу, вы ищете nodejs, выражает решение. Я бы использовал mongoose в качестве соединителя между приложением nodejs и mongodb. Чтобы использовать mongoose, я бы сделал следующее:

const mongoose = require("mongoose");
const bodyParser = require("body-parser");
const app = express();
const router = express.Router();

    mongoose
      .connect(
        "<Your DB Cnnnection>?retryWrites=true&w=majority",
        { useNewUrlParser: true, useUnifiedTopology: true }
      )
      .then(() => console.log("connected to mongo db"))
      .catch(() => console.log("connection failed")); // Now you are connected with mongo db

//Initial setup
app.use((req, res, next) => {
  res.setHeader("Access-Control-Allow-Origin", "*");
  res.setHeader(
    "Access-Control-Allow-Headers",
    "Origin, X-Requested-With, Content-Type, Accept"
  );
  res.setHeader(
    "Access-Control-Allow-Methods",
    "GET" // Add other verbs you want to support
  );
  next();
});
router.get("", (req, res, next) => {
  const categoryQuery = Category.find(); //Create a category mongoose [model](https://mongoosejs.com/docs/guide.html)
  categoryQuery
    .find()
    .then(data => {
      res.status(200).json({
        message: "<Category> data fetched successfully",
        data: data,
      });
    });
});
// Setup route
app.use("/api/<category>", router);

Теперь вы можете запустить этот JS-файл для обслуживания внутреннего приложения. Поскольку я уже включил CORS, вы можете напрямую использовать Angular HttpClient во внешнем интерфейсе для извлечения данных, которые хранятся в mongodb и обслуживаются вышеуказанным приложением промежуточного программного обеспечения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...