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);