mongoose模型如何与mongodb连接?

时间:2018-05-25 19:50:07

标签: node.js mongodb mongoose

我使用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连接并保存文档?

1 个答案:

答案 0 :(得分:2)

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

<\ n>在Mongoose文件中:

  • 您与Mongoose有DB连接。 现在Mongoose有你的数据库连接。

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

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

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

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

有关详细信息,请参阅Mongoose Docs

希望我清除你的想法。