## **1、Mongoose 索引**
索引是對數據庫表中一列或多列的值進行排序的一種結構,可以讓我們查詢數據庫變得更 快。MongoDB 的索引幾乎與傳統的關系型數據庫一模一樣,這其中也包括一些基本的查詢 優化技巧。
mongoose 中除了以前創建索引的方式,我們也可以在定義 Schema 的時候指定創建索引。
```
var DeviceSchema = new mongoose.Schema({
sn: {
type: Number,
// 唯一索引
unique: true
},
name: {
type: String,
// 普通索引
index: true
}
});
```
## **2、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()
## **3、擴展 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');
```
- 前言
- 一、MongoDb 數據庫介紹、安裝、使用
- 二、MongoDB 數據庫創建刪除、表(集合) 創建刪除、數據增刪改查
- 三、MongoDB 索引 和 explain 的使用
- 四、Nodejs 操作 MongoDb 數據庫
- 五、關系型數據庫表(集合)與表(集合)之 間的幾種關系
- 六、MongoDB 的高級查詢 aggregate 聚合管道
- 七、mongoose 入門以及 mongoose 實現數據 的增、刪、改、查
- 八、Mongoose 預定義模式修飾符 Getters 與 Setters 自定義修飾符
- 九、Mongoose 索引、Mongoose 內置 CURD 方 法、擴展 Mongoose Model 的靜態方法和 實例方法
- 十、Mongoose 數據校驗
- 十一、Mongoose 中使用 aggregate 聚合管道
- 十二、Mongoose 中使用 populate 實現關聯查詢
- 十三、MongoDb 數據庫的導出導入