Schema : 一种以文件形式存储的数据库模型骨架,不具有数据库的操做能力html
Model : 由Schema发布生成的模型,具备抽象属性和行为的数据库操做对mongodb
Entity : 由Model建立的实体,它的操做也会影响数据库数据库
一、安装驱动npm
npm install --save mongoose
二、链接数据库mongoose
// mongoose.connect('mongodb://username:password@host:port/database?options...'); var mongoose = require('mongoose'); mongoose.connect('mongodb://localhost:27017/test');
三、返回数据库操做对象ui
var db = mongoose.connection; db.on('error', console.error.bind(console, 'connection error:')); db.once('open', function() { // we're connected! });
四、建立Schemathis
var kittySchema = mongoose.Schema({ name: String });
能够给其添加方法,在实体对象中能够调用code
kittySchema.methods.speak = function () { var greeting = this.name ? "Meow name is " + this.name : "I don't have a name"; console.log(greeting); }
五、发布模型htm
var Kitten = mongoose.model('Kitten', kittySchema);
由模型new出的实体能够使用save方法存入数据库对象
六、建立实体
var fluffy = new Kitten({ name: 'fluffy' }); fluffy.save();
七、查找(经过模型查找)
Kitten.find(function (err, kittens) { if (err) return console.error(err); console.log(kittens); })
We just logged all of the kittens in our db to the console. If we want to filter our kittens by name, Mongoose supports MongoDBs rich querying syntax.
Kitten.find({ name: /^fluff/ }, callback); Kitten.find({ name: ‘fluffy’ }, callback);