简体   繁体   English

仅返回单个 Object 而不是 NEXT.JS 和 MongoDB 中的数组

[英]Return just single Object instead of Array in NEXT.JS and MongoDB

How can i return single object for instead of array?我如何返回单个 object 而不是数组? Because i asking in api just for single "Event" I using MongoDB + Next.js因为我在 api 中询问只是为了单个“事件”我使用 MongoDB + Next.js

I always getting我总是得到

[{}] [{}]

i Just want it get我只是想让它得到

{} {}

const fetchWithId = (url: RequestInfo) => fetch(url).then((r) => r.json());

const index = () => {
  const router = useRouter();

  const { data, error } = useSWR(
    `http://localhost:3000/api/events/event?slug=${router.query.slug}`,
    fetchWithId
  ); 

Here is a Next API这是下一个 API

const handler = async (req: NextApiRequest, res: NextApiResponse) => {
  const {
    method,
     query: { slug},
  } = req;

  if (req.method !== 'GET') {
    return;
  }



  await dbConnect();

  const selectedEvent = await Events.find({
    slug: slug,
  });

  res.status(200).json(selectedEvent);
};



export default handler;

You would want to call the method .findOne() rather than.find() :您可能希望调用方法.findOne() 而不是 .find()

const selectedEvent = await Events.findOne({
    slug: slug
});

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM