Я начинающий. Делаю викторину. Я хранил свои данные в нескольких коллекциях в 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 { db } = await connectToDatabase() const questions = await db .collection('questions') .find({}) .sort({ metacritic: -1 }) .limit(20) . toArray() return { реквизит: { вопросы: JSON.parse (JSON.stringify (shuffleArray (вопросы))) } } }
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
Вы говорите, как бы вы запрашивали разные коллекции в своей базе данных? если это так, вам нужно будет создать отдельные конечные точки, например, одну для вопросов, одну для ответов, одну для пользователей и т. д., или вы хотите использовать одну конечную точку для запроса любой коллекции? если это так, то вы должны передать его в теле запроса или в параметрах передать его в качестве аргумента функции getStaticProps (коллекция), тогда вам нужно просто иметь что-то вроде const collection = await db.collection (коллекция) return collection дайте мне знать, если это то, что вы пытаетесь, если я отправлю ответ: D