【问题标题】:How does mongoose model connect with mongodb?mongoose模型如何与mongodb连接?
【发布时间】:2018-11-05 06:04:56
【问题描述】:

我使用 mongoose.model() 构建了一个 user 集合。该模型存在于名为 model\user.js 的单独文件中。 mongodb 连接实例(使用 mongoose)存在于单独的文件 db\mongoose.js 中。这两个文件都被导入到server.js 以与 Web 应用程序一起使用。

var express = require('express');
var bodyParser = require('body-parser');

var {mongoose} = require('./db/mongoose');
var {User} = require('./models/user');

var app = express();

app.use(bodyParser.json());

app.post('/todos', (req, res) => {
  var user = new User({
    text: req.body.text
  });

  user.save().then((doc) => {
    res.send(doc);
  }, (e) => {
    res.status(400).send(e);
  });
});

app.listen(3000, () => {
  console.log('Started on port 3000');
});

module.exports = {app};

{mongoose}{User} 似乎是一个单独的实体,model\user.js 也没有导入 ./db/mongoose.jsuser model是静态内容,user.save()如何连接db并保存文档?

【问题讨论】:

  • 好问题。

标签: node.js mongodb mongoose


【解决方案1】:

首先让我告诉你在你的项目中发生了什么。

在猫鼬文件中:

  • 您与 Mongoose 建立了数据库连接。 现在 Mongoose 有你的数据库连接。

这就是它被导入到 server.js 文件中的原因。

其次,在你的 model/user.js 中你有

  • 使用 Mongoose 声明的架构。
  • user.save 方法。

当您在此处使用 Mongoose(或任何与数据库相关的查询)时,它指向您连接的数据库。这不需要在某个文件中写入任何显式连接。

更多详情请阅读Mongoose Docs

希望我清除了你的想法。

【讨论】:

    猜你喜欢
    • 2018-07-10
    • 2020-11-02
    • 2020-06-07
    • 2020-05-05
    • 2019-07-11
    • 2021-05-12
    • 2016-05-02
    • 2019-02-22
    相关资源
    最近更新 更多