Koa, MongoDB and Mongoose
来源:互联网 发布:c语言 实现stl map 编辑:程序博客网 时间:2024/05/22 15:49
Koa
Koa 是下一代的 Node.js 的 Web 框架。由 Express 团队设计。旨在提供一个更小型、更富有表现力、更可靠的 Web 应用和 API 的开发基础。
Koa可以通过生成器摆脱回调,极大地改进错误处理。Koa核心不绑定任何中间件,但提供了优雅的一组可以快速和愉悦地编写服务器应用的方法。
koa相关资料: https://github.com/koajs/koa
MongoDB
使用 Mongoose
首先要了解 MongoDB
。
MongoDB (from “humongous”) is an open-source document database, and the leading NoSQL database. Written in C++
开源型、文档型、NoSQL
在 sql 中,我们的数据层级是:数据库(db) -> 表(table) -> 记录(record)-> 字段;在 mongodb 中,数据的层级是:数据库 -> collection -> document -> 字段。这四个概念可以对应得上。
MongoDB的安装方法:https://docs.mongodb.com/manual/installation/
Mongoose
Mongoose 是个 odm。odm 是 Object-Document Mapping
,对象文档映射。
它的作用就是,在程序代码中,定义一下数据库中的数据格式,然后取数据时通过它们,可以把数据库中的 document 映射成程序中的一个对象,这个对象有 .save .update 等一系列方法,和 .title .author 等一系列属性。在调用这些方法时,odm 会根据你调用时所用的条件,自动转换成相应的 mongodb shell
语句帮你发送出去。自然地,在程序中链式调用一个个的方法要比手写数据库操作语句具有更大的灵活性和便利性。
具体使用方法:https://docs.mongodb.com/manual/tutorial/query-documents/
createConnection 与 connect:
许多入门学徒在看到这两个函数的时候都会有一定疑惑,但是这两个函数其实并不是一个东西,
createConnection 创建的并非一个默认的数据库连接,它返回的是一个Connection。我们需要通过这个Connection来创建Model、Instance,然后进行数据表操作,这通常是在程序需要连接多个数据库的情况下使用,否则一般使用 connect 来打开默认的数据库连接,这时候我们就可以用mongoose.model来创建我们的Model了。
使用Koa和MongoDB
- 按照上述介绍,在工作站上安装MongoDB
安装Mongoose
$ npm install mongoose
or$ cnpm install mongoose
安装 Koa 框架,及其相关库文件
也可以直接到Github上clone相关的开源项目,查看结果,
https://github.com/dozoisch/koa-react-full-example
1、 Mongoose 连接 Mongo 数据库
import mongoose from 'mongoose';// connet databasevar db = mongoose.connect("mongodb://localhost:27017/myDatabase") // default port 27017// create data modelvar Schema = mongoose.Schema, ObjectId = Schema.Types.Objectid;var user = new Schema({ uid: String,})// instance modelvar User = mongoose.model('User', user);var user = { uid: 'myid',}var newUser = new User(user);console.log(newUser.uid);newUser.save();// a database has been created;
2、结合Koa框架
// import koa frameworkimport Koa from 'koa';// import routes fileimport route from './routes/index.js'const app = new Koa();route(app);
3、Koa-router进行路由设置
// routes/index.jsimport User from '../controllers/user.js';import Router from 'koa-router'module.exports = function (app) { var router = new Router(); router.get('/users', User.list); app.use(router.routes());};
4、Controller
'use strict'import mongoose from 'mongoose'import User from '../models/user'exports.list = function *() { this.body = yield Segment.find().exec();};
以上内容是最近在作React、Redux、Koa、MongoDB相关工作,在帮助自己记忆的同时,也希望能对新手有帮助。
- Koa, MongoDB and Mongoose
- 在koa中使用mongoose操作mongodb数据库
- koa+mongodb+pm2部署
- Simple example - Node.js, Restify, MongoDb and Mongoose
- nodejs/express+mongodb/mongoose
- mongodb & mongoose 常用操作
- Nodejs mongoose操作mongodb
- mongodb操作之mongoose
- Mongoose 操作MongoDB
- mongoose 操作mongodb数据库的
- [mongodb] mongoose增删改查
- 1011笔记 mongodb+mongoose+angularjs
- MongoDB之Mongoose的使用
- MongoDB之Mongoose的使用
- nodejs使用mongodb和mongoose
- Koa
- Node.js + mongoose + mongodb 学习笔记
- 使用Mongoose对MongoDB进行分页
- ACM 几何基础(5)
- RHEL7.x的ISO yum源配置(与rhel5.x和rhel6.x不太一样)
- React+React-router+webpack重构一个微信小应用(预测宝宝1)(篇幅过长,分2次)
- 模块化编程理解
- echarts地图扩展文件使用geoJson格式。
- Koa, MongoDB and Mongoose
- AlarmManager 闹钟(全局定时器)
- MFC读取文件夹中的文件,并且进行排序
- 设计模式六大原则
- 安装Python中的小tips -重新启动是王道 !!!
- why use nosql?
- 树之性质
- 优秀css案例欣赏
- duplicate symbol SDK中重复引用公共变量的错误