wusyou.baby.data-model

0.1.2 • Public • Published

baby.data-model

务实小孩应用的数据模型定义


model.api

model.api 提供的general接口

model.api.new(arg, cb)      //除了Parent都可以用
model.api.remove(arg, cb)   //不能用于 Parent , Teacher
model.api.update(arg, cb)   //用于所有类 (因为operator上加了限制)
model.api.query(arg, cb)    //用于所有类
// cb(err, docs)
// arg格式见后面

arg的json格式

  • arg.class_name 作用在哪个类
  • arg.new_data 用于new和update的json
  • arg.query 用于提供查询信息的 json

arg.query

示例:

  {
     class:{    //针对class级的查询限制(比如limit数量)
         fun_name:fun_arg  //比如 limit:10
     }        
     fields:{ //针对每个field级的查询限制
         field_name:[fun_name, condition] // name:[equalTo, '张鑫语']
     } 
  }
  

arg.new_data

示例:

 {
    field_name: { //对于每个field,数据该如何更新+创建
        data:{} //对于该field要传入的数据(可以是对象,或者任何类型)
        operators:"" //要使用的operator,比如$set, 默认为$set, 也可是数组(operator级联操作, 会一个操作很可能arg中的data)
        info:{
           compare_on:"", //从数组中pull的时候,根据什么比较(默认==)
           class_name:""  //$instance 的时候,成为什么类的实例                                                             
        }                                                                                    
    }     
  }
    

operators

model.api.User

由于用户操作比较特殊, 这里分出了部分api

电话号码一键登录+注册接口

重置密码接口

更多

  1. 要给 School 设置beforeSavehook,来检测name的重复性, afterDelete来删除所有其相关的班级

  2. 在 Class 中添加school属性, 之后定义cloud函数,beforeDelete来把相关 School 中的班级删除, 完成数据完整性的保证。

Readme

Keywords

none

Package Sidebar

Install

npm i wusyou.baby.data-model

Weekly Downloads

1

Version

0.1.2

License

Apache License

Last publish

Collaborators

  • xyzhang