【问题标题】:TypeError: urls.toObject is not a function MongooseTypeError: urls.toObject 不是 Mongoose 函数
【发布时间】:2020-12-02 23:11:24
【问题描述】:

大家好,我想在我的代码中做一个基本的对象函数我需要猫鼬,它给我发送了这个错误,我不明白为什么:UnhandledPromiseRejectionWarning: TypeError: urls.toObject is not a function。在get函数中,希望得到帮助。

const express = require("express");
const { v4: uuidv4 } = require("uuid");
const Url = require("../models/Url");
const mongoose = require("mongoose");
const HttpError = require("../models/http-errors");

const getTodo = async (req, res, next) => {
  let urls;
  try {
    urls = await Url.find({});
    res.json({ urls });
  } catch (err) {
    const error = new HttpError(
      "Something went wrong, could not find a Url.",
      500
    );
    return next(error);
  }
  res.json({ urls: urls.toObject({ getters: true }) });
};

const addTodo = async (req, res, next) => {
  const { content } = req.body;
  const createdPlace = new Url({
    content: content,
    enable: false,
  });
  // Sending it To Mongo
  try {
    await createdPlace.save();
  } catch (err) {
    const error = new HttpError("Creating Place fails mongo");
    return next(error);
  }

  res.sendStatus(200);
};


exports.getTodo = getTodo;
exports.addTodo = addTodo;

【问题讨论】:

  • res.json({ urls: urls.toObject({ getters: true }) });移动到try
  • 这不是重点 我相信我试过了,但我得到了另一个错误:错误:出了点问题,找不到 URL。在 getTodo (C:\Users\ethan\Desktop\all projects\ToDo\ToDo-Back-master\controllers\url-controllers.js:31:19)
  • 但是如果 console.log(URLs) 我得到了对象。

标签: javascript database mongodb mongoose


【解决方案1】:

URL 是一个对象列表,所以我需要映射它以执行 toObject 函数。

  res.json({
    url: url.map((url) => url.toObject({ getters: true })),
  });

【讨论】:

    猜你喜欢
    • 2020-08-08
    • 2015-10-28
    • 1970-01-01
    • 2017-03-09
    • 2019-02-20
    • 2018-06-14
    • 2017-04-08
    • 2019-05-09
    • 1970-01-01
    相关资源
    最近更新 更多