无法从Nodejs连接到Mongodb

4smxwvx5  于 2023-01-12  发布在  Go
关注(0)|答案(2)|浏览(120)

我尝试从我的第一个节点项目连接到Mongodb。我使用Mongoose来实现。但是,mongoose.connect()给了我MongoParseError错误。
完全错误:
蒙戈解析错误:选项连接,模型,事件,__驱动程序,选项,_复数化,架构,模型,插件,默认值,mongoose,强制转换,状态,设置驱动程序,设置,获取,创建连接,连接,断开连接,启动会话,复数化,删除模型,模型名称,插件,版本,架构类型,架构类型,虚拟类型,类型,查询,文档,对象ID,isvalidobjectID,isobjectID或hexstring,syncindexes,十进制128,混合,日期,数字,错误,现在,级联错误,模式类型选项,mongo,mquery,受信任,跳过中间件函数,覆盖不支持中间件结果
下面是我的代码片段。

const express = require('express');
const app = express();

const mongoose = require('mongoose');

const dotenv = require('dotenv');
dotenv.config();

app.use(express.json());

//configure mongoose
mongoose.connect(
  process.env.MONGODB_URI,
  mongoose.set('strictQuery', true),
  (err) => {
    if (err) {
      console.log(`Error while connecting: ${err}`);
    } else {
      console.log('Connected to MongoDB');
    }
  }
);

app.use('/', (req, res) => {
  res.send('Welcome to Node js server');
});

app.listen(3001, () => {
  console.log('Node js server is up and running');
});
llycmphe

llycmphe1#

strictQuery引用Mongoose模式

mongoose.connect(process.env.MONGODB_URI)
  .then(() => console.log('Connected to MongoDB'))
  .catch(err => console.error(`Error while connecting: ${err}`));
);

mongoose.set('strictQuery', true);
5vf7fwbs

5vf7fwbs2#

现在可以将设置为false以删除警告消息,并使连接异步,然后单独侦听它。

mongoose.set("strictQuery", false);

mongoose.connection.once("open", () => {
    console.log("Connected to MongoDB!");
})

async function startServer() {
    try {
        await mongoose.connect(process.env.MONGODB_URI);
    } catch (err) {
        console.log(`Error while connecting: ${err}`);
    }
}

startServer().then(() => {
    app.listen(PORT, () => {    //set up your PORT
        console.log(`app is running on port ${PORT}...`)
    });

相关问题