博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Mongoose 5.1.5 简易入门
阅读量:6483 次
发布时间:2019-06-23

本文共 1747 字,大约阅读时间需要 5 分钟。

备注 没入门请不要怪我,我也是只
小萌新 []~( ̄▽ ̄)~*,如有不对的地方还请指正
文章基于Mongoose5.1.2来讲解用法,后续会继续跟进最新的版本的

安装Mongoose

npm install mongoose或者yarn add mongoose

最简单的一个写法

该实例来自于官网文档首页

const mongoose = require('mongoose');mongoose.connect('mongodb://localhost/test');const Cat = mongoose.model('Cat', { name: String });const kitty = new Cat({ name: 'Zildjian' });kitty.save().then(() => console.log('meow'));

采用了ES6的语言标准,不了解的同学可以看一下阮一峰的《ES6标准入门》

一些基本用法

1 引用 mongoose 以及连接数据库

var mongoose = require('mongoose');mongoose.connect('mongodb://localhost/test');

2 监听连接状态

var db = mongoose.connection;db.on('error', console.error.bind(console, 'connection error:'));db.once('open', function() {  // we're connected!});

3 Schema 模式

Mongoose将数据对应模式, 约定了Model中数据的类型,比如下列代码中name这个属性只能是字符串数据传入

var kittySchema = mongoose.Schema({  name: String});

4 Model 模型

模型有点像是mongodb中的collection,可以在model上进行CURD(Create/Update/Read/Delete)的操作

var Kitten = mongoose.model('Kitten', kittySchema);

接下来讲解CURD这四个基础操作

5 Create 创建一个数据对象(注意后面还需要save一下)

var silence = new Kitten({ name: 'Silence' });console.log(silence.name); // 'Silence'

6 为数据对象增加函数

// NOTE: methods must be added to the schema before compiling it with mongoose.model()kittySchema.methods.speak = function () {  var greeting = this.name    ? "Meow name is " + this.name    : "I don't have a name";  console.log(greeting);}var Kitten = mongoose.model('Kitten', kittySchema);

使用该函数

var fluffy = new Kitten({ name: 'fluffy' }); fluffy.save(function (err, fluffy) {    if (err) return console.error(err);    fluffy.speak();  });

7 Update 更新数据

未完待续

8 Read 查询数据

//查询所有数据Kitten.find(function (err, kittens) {  if (err) return console.error(err);  console.log(kittens);})
//正则条件查询Kitten.find({ name: /^fluff/ }, callback);

9 Delete 删除数据

未完待续

参考链接
官网链接

转载地址:http://mfbuo.baihongyu.com/

你可能感兴趣的文章
python 测试驱动开发的简单例子
查看>>
Aes 加密简单例子
查看>>
AE 线编辑
查看>>
软件设计之UML—UML的构成[上]
查看>>
如何使用AdMob中介界面?
查看>>
分享一个shell脚本:通过Jumper机器来创建Jumper和target机器账号
查看>>
UITableViewCell分割线不是左对齐的问题
查看>>
CentOS7 编译安装PHP7
查看>>
MySQL常见错误代码及代码说明
查看>>
Cglib动态代理基础使用
查看>>
技术人员,为什么会苦逼
查看>>
使用126邮箱发送邮件的python脚本
查看>>
Maven
查看>>
缓存系统在游戏业务中的特异性
查看>>
redis的基本数据类型
查看>>
.NET 同步与异步之锁(Lock、Monitor)(七)
查看>>
前端大牛们都学过哪些?
查看>>
在iOS当中发送电子邮件和短信
查看>>
13~1003的和
查看>>
pycharm如何新项目如何不默认创建虚拟环境(吐槽)
查看>>