模块导出= NodeJs中的猫鼬模型做什么

时间:2018-10-18 07:55:59

标签: javascript node.js mongodb express mongoose

我将成为前端React世界的一部分,并且大多数使用了诸如import和export之类的语句。

我知道有很多文章重点介绍如何,我们如何在nodeJS中使用导入和导出,而且我也知道这可能与导入和导出无关。

无论哪种方式,我都开始与mongoDB一起学习后端(NodeJs)。

我正在使用快速框架和包名猫鼬。

在模型内部,我们正在创建一个像这样简单的模式

const mongoose = require('mongoose')

const bookSchema = new mongoose.Schema({
    name: String,
    genre: String, 
    authorID: String
})


module.exports = mongoose.model("Books", bookSchema)

虽然我了解我们在上面做的事情,在上面创建了一个架构并进行了导出,但是我无法理解导出语句

module.exports = mongoose.model("Books", bookSchema)

就像,我知道它确实会导出猫鼬模式,但是mongoose.model会做什么/意味着什么?喜欢在幕后吗?

1 个答案:

答案 0 :(得分:2)

根据documentation

  

模型是从Schema定义编译的精美构造函数。一个   模型的实例称为文档。模特负责   从底层的MongoDB数据库创建和读取文档。


架构是数据的描述。 模型代表您的收藏集。您可以有多个具有相同 Schema Model 。要创建新文档或从数据库中获取文档,您需要使用 Model


要使用您所描述的模型:

a.js

// ...

module.exports = mongoose.model('Books', bookSchema)

b.js

import Books from 'a.js';

// We create a new document and then save it in database    
const book = new Books({
  name: 'Harry potter',
  genre: 'drama',
  authorID: 'JK',
});

// Save is asynchronous and can fail
await book.save();