一、Mongoose 索引
索引是对数据库表中一列或多列的值进行排序的一种结构,可以让我们查询数据库变得更 快。MongoDB 的索引几乎与传统的关系型数据库一模一样,这其中也包括一些基本的查询 优化技巧。 mongoose 中除了以前创建索引的方式,我们也可以在定义 Schema 的时候指定创建索引。
var DeviceSchema = new mongoose.Schema({ sn: { type: Number, // 唯一索引 unique: true }, name: { type: String, // 普通索引 index: true }
});
二、Mongoose 内置 CURD
https://mongoosejs.com/docs/queries.html
Model.deleteMany()
Model.deleteOne()
Model.find()
Model.findById()
Model.findByIdAndDelete()
Model.findByIdAndRemove()
Model.findByIdAndUpdate()
Model.findOne()
Model.findOneAndDelete()
Model.findOneAndRemove()
Model.findOneAndUpdate()
Model.replaceOne()
Model.updateMany()
Model.updateOne()
三、扩展 Mongoose CURD 方法
var mongoose=require('./db.js');
var UserSchema=mongoose.Schema({ name:{ type:String },age:Number,status:{ type:Number, default:1 }
})// 静态方法
UserSchema.statics.findByUid=function(uid,cb){ this.find({"_id":uid},function(err,docs){ cb(err,docs) }) }// 实例方法UserSchema.methods.print = function(){ console.log('这是一个实例方法'); console.log(this); };
module.exports=mongoose.model('User',UserSchema,'user');