Schema : 一种以文件形式存储的数据库模型骨架,不具备数据库的操作能力
Model : 由Schema发布生成的模型,具有抽象属性和行为的数据库操作对
Entity : 由Model创建的实体,它的操作也会影响数据库
1、安装驱动
npm install --save mongoose
2、连接数据库
// mongoose.connect('mongodb://username:password@host:port/database?options...');
var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost:27017/test');
3、返回数据库操作对象
var db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', function() {
// we're connected!
});
4、创建Schema
var kittySchema = mongoose.Schema({
name: String
});
可以给其添加方法,在实体对象中可以调用
kittySchema.methods.speak = function () {
var greeting = this.name
? "Meow name is " + this.name
: "I don't have a name";
console.log(greeting);
}
5、发布模型
var Kitten = mongoose.model('Kitten', kittySchema);
由模型new出的实体可以使用save方法存入数据库
6、创建实体
var fluffy = new Kitten({ name: 'fluffy' });
fluffy.save();
7、查找(通过模型查找)
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);