Nodejs 萌新请教大佬,我的 express 链接的 mongodb

发布于 1周前 作者 sinazl 来自 nodejs/Nestjs

Nodejs 萌新请教大佬,我的 express 链接的 mongodb

我每个 model 都写了一个 js 文件类似于


var mongoose = require("mongoose"); const UserSchema = new mongoose.Schema({ username: { type: String, unique: true }, password: { type: String} }) const User = mongoose.model('UsersClass', UserSchema) module.exports = User 然后再到 app.js 引入 User = require('./modules/user')


但是如果我写了 20 个 model,那我就要在 app.js 引入 20 次,有什么方法能够解决 谢谢大佬们指教


12 回复

写代码遍历你的 model 文件呗


所以 egg 就很好了 this.ctx.model.User 就可以访问了

所以为什么你每个 model 要单独写一个文件。。。。

需要的时候再引用啊,其他语言都是一样的啊

想过这个办法了,但是代码感觉很怪怪

写在一起确实解决了这个问题,但是想把 model 分开,代码更漂亮,嘻嘻

这个,初期路由不分文件就需要统统引入,到了后期把路由分开写,也不能避免引入多个,有点难受

谢谢楼上大佬们

并不觉得你这么分开有多美观,难道不是应该把这几个地方抽象么

并没有取巧的办法,只有那些带自动依赖注入系统的框架才能做到自动把定义的 model,controller 等东西按需注入到 app 中。如果不想使用 eggjs,nestj 等真正意义上的框架,只能自己手动一个一个 import

你好!作为IT方面的技术人员,很高兴能帮助你解决Node.js和Express连接MongoDB的问题。下面是一个基本的示例,展示如何使用Node.js和Express连接到MongoDB。

首先,确保你已经安装了必要的包:

npm install express mongoose

然后,你可以创建一个基本的Express应用,并连接到MongoDB。以下是一个示例代码:

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

const app = express();
const port = 3000;

// MongoDB连接字符串(替换为你的MongoDB URI)
const mongoURI = 'mongodb://localhost:27017/mydatabase';

mongoose.connect(mongoURI, { useNewUrlParser: true, useUnifiedTopology: true })
  .then(() => console.log('MongoDB connected'))
  .catch(err => console.log(err));

// 定义一个简单的Schema和Model
const Schema = mongoose.Schema;
const userSchema = new Schema({
  name: String,
  age: Number
});

const User = mongoose.model('User', userSchema);

// 示例路由
app.get('/', (req, res) => {
  User.find({}, (err, users) => {
    if (err) return res.status(500).send(err);
    res.json(users);
  });
});

app.listen(port, () => {
  console.log(`Server running at http://localhost:${port}/`);
});

这个示例代码展示了如何连接MongoDB,定义一个简单的Schema和Model,以及一个基本的GET路由。确保将mongoURI替换为你的MongoDB URI。运行这个代码后,你应该能够访问http://localhost:3000/并看到数据库中的用户数据。如果有任何问题,请随时提问!

回到顶部