'undefined' объект с использованием MongoDB + Express - PullRequest
1 голос
/ 16 июня 2020

Когда я печатаю на стороне клиента полученный объект на консоли, используя console.log(this.data), я получаю undefined, поэтому я не могу получить доступ к data.body для печати данных, хранящихся в базе данных. Серверная печать получает правильный объект json.

Я отправляю объект, используя HTTP-статус 200. Принудительный неверный запрос (res.status(400).json(docs);) правильно распечатает тело json внутри ошибки.

client.ts

getEvents() {
    return new Promise(resolve => {
      this.http.get('http://www.mywebsite.com:8080/api/objects')
      .pipe(map(data => { })).subscribe(data => {
          this.data = data;
          console.log(this.data);
      });
    });   
}

сервер. js

app.get("/api/objects", function (req, res) {
    db.collection(COLLECTION).find({})
    .toArray(function (err, docs) {
      if (err) {
        handleError(res, err.message, "Failed.");
      } else {
        console.log(docs);
        res.status(200).json(docs);
      }
    });
  });

1 Ответ

0 голосов
/ 16 июня 2020

Убедитесь, что вы используете какой-то парсер тела, например express. json ():

app.use(express.json())

Поместите это перед вашими маршрутами!

...