每个索引对象可以设置的值:
name:索引名称,默认模型名称+字段
fields: Array,索引字段
unique:唯一索引,默认false
增加索引的好处就是让数据库查询数据的时候变得更快。
模型实例对象
模型实例对象的概念很好理解,模型对象的作用是操作某张数据表,模型实例对象的作用是操作这张数据表中的数据。
一个模型类对应一个表,一个模型实例对象就是一条对应的表记录,通过操作这个对象来关联操作对应的表中的数据,操作模型类就是操作表,操作模型类对象就是操作该表中的某条记录。
模型类——表
模型实例——记录
注意在数据库中,我们通常会把记录称为数据,也会把数据称为记录,概念是一样的。
创建模型实例对象
public static build(options: Object): Model | Model[]
options:一个对象,对应的就是表中的字段(模型中定义的属性),需要注意的是对该对象的操作不会立即反应到实际的数据库中,需要通过后续的操作进行同步
/**
* 模型类 -> 表
* 模型创建出来的对象 -> 表中某条记录
*/
// let Kimoo = new UserModel(); //创建了一个User的记录
let Kimoo = UserModel.build({ //和上面的new是一样的
// 字段对应的值
username: 'Kimoo',
age: 30,
gender: '男'
});
// 通过new或者build出来的对象不会立即同步到数据库中,需要使用后续的一些方法来同步
await Kimoo.save();
模型实例对象CRUD操作
模型实例对象.get(key: String):获取某个属性(字段)的值。
模型对象.set(key: String, value: any):设置某个属性(字段)的值。
模型对象.save():验证该实例,如果通过验证,则持久化到数据库中。
模型对象.update(updates: Object):updates:要更新的字段,调用该方法等同于调用.set()然后.save()。
模型对象.destroy():销毁该实例(假删除或真删除)。
// 创建数据模型实例对象 c4az6
// let c4az6 = UserModel.build({
// username: 'c4az6',
// age: 20,
// gender: '男'
// })
// 获取属性
/* console.log(`
username: ${c4az6.g