Home > Software design >  find feature for the mongodb module is not working in my Nextjs app
find feature for the mongodb module is not working in my Nextjs app

Time:03-20

I have a nextjs application I have been developing and need to find all the documents in one of my collections I am using the mongodb node module. when i use .find() to pull the documents I just get an empty JSON object. I use .findOne, .updateOne with out any issues for my login and password reset pages. here is my code from the api.

     try{
      const client = await connectDatabase();
      const events = client.db().collection('members');
      const documents = events.find()
      res.status(200).json( documents);}catch(error){
      res.status(500).json({message: error.message});}

I have looked all over the mongodb documentation and have not found a solution to this issue. this is what I get back when I run the code {"_events":{},"_eventsCount":0}

CodePudding user response:

MongoDB query is asynchronous, so you need to wait for the response. Change your code like this:

const documents = await events.find();

CodePudding user response:

It's because .find() returns a cursor so you can iterate it, the best you can do here is transform it into an array like below:

const documents = await events.find().toArray();
  • Related