在NextJS中使用SWR查询MongoDb Atlas时如何使用动态变量

问题描述

我正在使用 NextJS 中的 SWR 和 API 路由查询 Mongodb Atlas 集合。我希望能够动态更改 API 中的过滤器查询变量。一个用例可能是用户选择查看某些属性,我们需要根据用户的偏好过滤搜索结果

有没有办法将这些变量传递给 API,或者有没有一种简单的方法来实现这个功能

这是基本的页面代码,这里swr调用API

const fetcher = url => axios.get(url).then(res => res.data)

const filter = () => {
    const { data,error } = useSWR('/api/data/filter',fetcher)
    if (error) return "An error has occurred.";
    if (!data) return "Loading...";

    return (
        ...
    )
}

这里是 API

import { connectToDatabase } from "util/mongodb";

export default async (req,res) => {
    const { db } = await connectToDatabase();

    const cursor = db.collection("listingsAndReviews").find(
    {
        // I WOULD LIKE TO DYNAMICALLY SET THESE TWO VALUES
        bedrooms: { $gte: 1 },bathrooms: { $gte: 1 }
    }
    )
    .sort({ last_review: -1 })
    .limit(10);

    const results = await cursor.toArray();

    res.json(results);
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...