mongoose.connection.useDb('projectDb') 没有按预期工作..仍然创建'测试'数据库

编程入门 行业动态 更新时间:2024-10-05 21:15:41

mongoose.connection.useDb('projectDb') 没有按预期工作..仍然创建'测试'<a href=https://www.elefans.com/category/jswz/34/1771350.html style=数据库"/>

mongoose.connection.useDb('projectDb') 没有按预期工作..仍然创建'测试'数据库

我在一个有很多项目的快速服务器上工作。到目前为止,这些集合被保存在这些不同项目的数据库中。我们想改变这一点,让每个项目都有一个数据库,所以我们将其用作模型格式。这只是其中一个项目的用户模型示例

userModel.js

const mongoose = require("mongoose");
const validator = require("validator");

const userSchema = new mongoose.Schema({
  role: {
    type: String,
    enum: ["user", "moderator", "editor", "admin"],
    default: "user",
  },
  name: {
    type: String,
    required: [true, "Name is Required"],
  },
  email: {
    type: String,
    required: true,
    validate: [validator.isEmail, "Email is not valid"],
    unique: true,
    lowercase: true,
  },
  mobile: {
    type: String,
  },
  password: {
    type: String,
    required: true,
    minlength: 8,
  },
  passwordChangedAt: Date,
  passwordResetToken: String,
  passwordResetExpires: Date,
  isActive: {
    type: Boolean,
    default: true,
  },
});

const db = mongoose.connection.useDb(process.env.H_STAY_DB);
const User = db.model("HStayUser", userSchema);

module.exports = User;


这是在 server.js 中启动数据库的方式

const DB = `${process.env.DATABASE_LOCAL}`;
mongoose
  .connect(DB, {
    useNewUrlParser: true,
    useUnifiedTopology: true,
  })
  .then((conn) => {
    console.log("Connected to DB");
  })
  .catch((error) => console.log(error));

并且没有在 mongo 数据库的 URI 中声明默认数据库。这是 .env 文件中的条目

DATABASE_LOCAL=mongodb://localhost:27017/

但是,当我尝试创建用户时,用户会在

test
数据库中创建,而不是在
projectDb
数据库中创建。事实上,当服务器加载时,这个
test
数据库是在加载时自动创建的。我希望我在 userModel 中实现的
useDb('projectDb)
选项对服务器可见,并期望
projectDb
在加载或接收 createUser 请求时创建。

我一直在努力解决这个问题,但无法弄清楚。任何建议或工作方向将不胜感激。

回答如下:

更多推荐

mongoose.connection.useDb('projectDb') 没有按预期工作..仍然创建'测试'数据库

本文发布于:2024-05-30 08:14:31,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1770289.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:数据库   测试   工作   connection   mongoose

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!