MongoDB mongoose入门

MongoDB是由C++编写的基于分布式文件储存的数据库,尤其是在Node.js中使用广泛。

具体怎么下载安装大家可以参考这个 Link 本章节不做过多解释

接下来命令行下运行 MongoDB shell

C:\mongodb\bin\mongo.exe

或者我们可以使用官方推荐的MongoDB Compass, 亲测比Robo 3T好用且免费

image.png

接下来我们重构我们的目录结构

创建db文件夹 接下来在db文件夹中创建config schemas models

config

config.js

module.exports = {
    url_string:
        'mongodb://localhost:20710/admin'
};

mongoose.js

const mongoose = require('mongoose');
const config = require('./config');

module.exports = () => {
    mongoose.connect(config.url_string, { useNewUrlParser: true }); //connect if locahost please fill mongodb://localhost:20710/admin
    var db = mongoose.connection;
    db.on('error', console.error.bind(console, 'connect err:'));
    db.once('open', callback => {
        console.log('connect MongoDB suc');
    });
    return db;
};

models

exampleModel.js

const mongoose = require('mongoose');
const ExampleSchema = require('../schemas/exampleSchema');
//创建model,这个地方的user对应mongodb数据库中admin的conllection。
const Example = mongoose.model('word', ExampleSchema);
module.exports = Example;

shcemas

exampleSchema.js

const mongoose = require('mongoose');
const Schema = mongoose.Schema;
//创建Schema
const ExampleSchema = new Schema({
    word: String,
    definition: String
});

module.exports = ExampleSchema;

接下来我们重新创建个路由custview

custview.js

const express = require('express');
const router = express.Router();
const Example = require('../db/models/exampleModel'); // 引入模型

router.get('/list', (req, res) => {
    Example.find({}, (err, data) => {
        if (err) next(err);
        res.json(data);
    });
});
module.exports = router;

在app.js中链接db

const mongoose = require('./db/config/mongoose');
const db = mongoose();

启动server在浏览器中调用


image.png

最终我们的目录结构如下所示

├── app.js
├── bin
|  └── www
├── db
|  ├── config
|  |  ├── config.js
|  |  └── mongoose.js
|  ├── models
|  |  └── exampleModel.js
|  └── schemas
|     └── exampleSchema.js
├── package-lock.json
├── package.json
├── public
|  ├── images
|  ├── javascripts
|  └── stylesheets
|     └── style.css
├── routes
|  ├── custview.js
|  ├── index.js
|  └── users.js
├── views
|  ├── error.jade
|  ├── index.jade
|  └── layout.jade
└── yarn.lock

我们的代码我也上传到了github欢迎大家查看

github地址

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • mongoose入门 MongoDB是一个开源的NoSQL数据库,相比MySQL那样的关系型数据库,它更显得轻巧、...
    huilegezai阅读 9,904评论 0 14
  • # Python 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列...
    小迈克阅读 8,145评论 1 3
  • 一、MongoDB简介 1.概述 ​ MongoDB是一个基于分布式文件存储的数据库,由C++语言编写。旨在为WE...
    郑元吉阅读 4,563评论 0 2
  • MongoDB 1. MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用...
    Kevinr阅读 5,518评论 0 3
  • 今天前辈交给我了一个任务,把领导签好字的文件盖上戳,扫描出来。我就盖啊,扫啊,后来我师傅跟我说盖章要盖正,从盖章就...
    豆芽王子阅读 3,315评论 0 0