0

我的 API 有使用 Mongoose 的微型端点。除了使用 .findOne() 的那个之外,它们都可以正常工作。这个在本地返回正确的数据,但在部署到 Now v2 时不返回。这是端点:

const { createError, run, send } = require("micro");
const mongoose = require("mongoose").set("debug", true);
const mongooseConnect = require("./utils/mongooseConnect");
const Art = require("./schemas").art;
mongooseConnect();
const art = async (req, res) => {
  console.log("hello world");
  const id = req.url.split("id=")[1].split("&")[0];
  console.log("id", id);
  console.log("mongoose.Types.ObjectId(id)", mongoose.Types.ObjectId(id));
  try {
    const data = await Art.findOne({ _id: id });
    console.log("data", data);
    if (!data) {
      throw createError(404, "Item of art not found.");
    }
    send(res, 200, { data });
  } catch (error) {
    console.log(error);
    throw createError(error.statusCode, error.statusText);
  }
};
module.exports = (req, res) => run(req, res, art);

这是输出:

2019-05-25T02:07:12.706Z  hello world
2019-05-25T02:07:12.706Z  id 5cb0a26bea66fa13786dc289
2019-05-25T02:07:12.707Z  mongoose.Types.ObjectId(id) 5cb0a26bea66fa13786dc289
2019-05-25T02:07:13.104Z  Mongoose: arts.findOne({ _id: ObjectId("5cb0a26bea66fa13786dc289") }, { projection: {} })
2019-05-25T02:07:13.173Z  data null
2019-05-25T02:07:13.174Z  { Error: Item of art not found.
                              at createError (/var/task/api/art.js:1584:14)
                              at art (/var/task/api/art.js:98943:13)
                              at <anonymous>
                              at process._tickDomainCallback (internal/process/next_tick.js:228:7) statusCode: 404, originalError: undefined }
2019-05-25T02:07:13.175Z  Error
                              at createError (/var/task/api/art.js:1584:14)
                              at art (/var/task/api/art.js:98949:11)
                              at <anonymous>
                              at process._tickDomainCallback (internal/process/next_tick.js:228:7)
04 MB 104 MB 104 MB 104 MB 104 MB 104 MB 104 MB 104 MB 104 MB 104 MB 104 MB 104 MB 104 MB 104 MB 104 MB 104 MB 104 MB 104 MB 104 MB 104 MB 104    MB 104 MB 104 MB 104 MB 104 MB 104 MB 104 MB
2019-05-25T02:07:32.932Z  running builder.exports.prepareCache...
2019-05-25T02:07:32.933Z  preparing cache ...
2019-05-25T02:07:32.937Z  producing cache file manifest ...

对我来说奇怪的是,我可以在另一个端点 ( )中看到Art架构的所有文档。const data = await Art.paginate();在那里,我看到了应该匹配的文件

{
   _id: '5cb0a26bea66fa13786dc289',
   title: 'sdfsda'
}

请让我知道是否有任何其他细节会有所帮助。

4

0 回答 0