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);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值