Как вызвать нужную коллекцию из Mongobd?

Я начинающий. Делаю викторину. Я хранил свои данные в нескольких коллекциях в MongoDB. Как вызвать конкретную коллекцию из MongoDB? Я знаю, как звонить только одному.

```export async function getStaticProps () {
   const { db } = await connectToDatabase()

   const questions = await db
   .collection('questions')
   .find({})
   .sort({ metacritic: -1 })
   .limit(20)
   .toArray()

   return {
   props: {
  questions: JSON.parse(JSON.stringify(shuffleArray(questions)))
   }
  }
}

Вы говорите, как бы вы запрашивали разные коллекции в своей базе данных? если это так, вам нужно будет создать отдельные конечные точки, например, одну для вопросов, одну для ответов, одну для пользователей и т. д., или вы хотите использовать одну конечную точку для запроса любой коллекции? если это так, то вы должны передать его в теле запроса или в параметрах передать его в качестве аргумента функции getStaticProps (коллекция), тогда вам нужно просто иметь что-то вроде const collection = await db.collection (коллекция) return collection дайте мне знать, если это то, что вы пытаетесь, если я отправлю ответ: D

kodamace 19.03.2022 16:33

Я не могу понять точно. экспортировать асинхронную функцию getStaticProps () { const { db } = await connectToDatabase() const questions = await db .collection('questions') .find({}) .sort({ metacritic: -1 }) .limit(20) . toArray() return { реквизит: { вопросы: JSON.parse (JSON.stringify (shuffleArray (вопросы))) } } }

Dragoslav Ivkovic 19.03.2022 21:49
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
1
2
28
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий
export async function getStaticProps (req, res) {
    // this is the collection we pass in our query parameters then is 
    // destructured here and I rename it to COLLECTION just so we can see where I 
    // pass it below
    const { collection: COLLECTION } = req.params

    // this is the db connection 
    const { db } = await connectToDatabase()
        
    const data = await db

    // here we pass the COLLECTION
           .collection(COLLECTION)
           .find({})
           .sort({ metacritic: -1 })
           .limit(20)
           .toArray()

//here you should handle how you want the data structured and then depending on that have the results sent with a status code of 200 if all is well
           return {
           props: {
             data: JSON.parse(JSON.stringify(shuffleArray(data)))
           }
          }
        }

example of query endpoint 

http://someconnection/:collection
which will be 
http://someconnection/questions or http://someconnection/answers or http://someconnection/users

Другие вопросы по теме