备注 没入门请不要怪我,我也是只小萌新
[]~( ̄▽ ̄)~*,如有不对的地方还请指正
文章基于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://mongoosejs.com/