在使用mongodb连接在vercel上部署我的下一个js应用程序时,我面临着问题。我还在vercel站点上添加了env变量,我们在那里部署了下一个js应用程序。下面的文件有什么问题吗?
next.config.js
module.exports = {
env: {
MONGODB_URI: "mongodb://localhost/tasksdb",
},
};我还在下一个js项目.env.local中添加了env变量。
MONGODB_URI = "mongodb://localhost/tasksdb"我从这个文档https://mongoosejs.com/建立这个mongodb连接。它为我们提供了直接与mongodb连接的机会。
这是我的mongodb连接建立代码
import { connect, connection } from "mongoose";
const conn = {
isConnected: false,
};
export async function dbConnect() {
if (conn.isConected) return;
const db = await connect(process.env.MONGODB_URI);
conn.isConnected = db.connections[0].readyState;
// console.log(conn.isConnected);
// console.log(db.connection.db.databaseName)
}
connection.on("connected", () => {
console.log("Mongodb connected to db");
});
connection.on("error", (err) => {
console.error("Mongodb connected to", err.message);
});这样创建数据库有什么问题吗?因为在本地,一切正常吗?
发布于 2021-12-17 20:00:19
我不认为vercel的服务器能和你的本地主机结合。您可以尝试将数据库托管在mongodb云中。
发布于 2021-12-18 00:40:19
代码似乎很好,但是不能使用localhost连接到Vercel。您可以使用MongoDB的Serverless Atlas版本,这是免费的,您可以在那里托管数据库,然后使用它们提供的链接进行连接。

https://stackoverflow.com/questions/70395044
复制相似问题