Web应用开发框架-egg进阶与实战(二)01——mongoose简介

Web应用开发框架-egg进阶与实战(二)01——mongoose简介

实战-简易博客

学习目标

使用egg + mongoDb实现一个简易博客的增删改查。

框架选型

egg + mongoose

准备工作
  • mongoDb可视化工具
  • postman
  • 安装mongoDb
mongoose简介
  • 简介: mongoos对mongoDb的一层封装和抽象,方便在nodejs中操作mongoDb数据库 。
  • 文档地址: https://mongoosedoc.top/docs/cnhome.html
  • 依赖: mongoDb 和 nodejs
安装
npm install mongoose
连接
var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/test');
快速开始

Mongoose 里,一切都始于Schema。 现在我们来看一个例子:

  • schema是对数据模型的描述

    对应数据库存储的字段

var postsSchema = mongoose.Schema({
    
     // 对文章的描述
  title: String,
  content: String
});

很好,我们得到了一个带有 String 类型 name 属性的 schema 。 接着我们需要把这个 schema 编译成一个 Model

var Posts = mongoose.model('posts', postsSchema);

model 是我们构造 document 的 Class。 在例子中,每个 document 都是一篇文章,它的属性和行为都会被声明在 schema。 现在我们来“创造”一篇文章:

var a_news = new Posts({
    
     title: 'xxx', content: 'xxx' });

emmmmm虽然我们还没吧它存到数据库里。 每个 document 会在调用他的 save 方法后保存到数据库。 注意回调函数的第一个参数永远是 error 。

  a_news.save(function (err, fluffy) {
    
    
    if (err) return console.error(err);
  });

后来我们收集了好多喵,就可以通过以下方法获取喵星人 model 里的所有数据:

Posts.find(function (err, kittens) {
    
    
  if (err) return console.error(err);
  console.log(kittens);
})

如果我们想获取特定的数据, 可以了解一下 query

// 这么写可以获取所有 name 为 "book" 开头的数据
Posts.find({
    
     name: /^book/ }, callback);

猜你喜欢

转载自blog.csdn.net/weixin_44867717/article/details/134221830