$product 产品表

我们通常把具体的、能喊得上名字的数据存放在产品表中,不管是有形的实体物品还是无形的虚拟产品

表结构

{
    _id: String,
    auth: User,    // 创建该记录时的用户ID
    type: String,  // 类型,方便分类及搜索
    name: String,  // 唯一名,有时用来代替ID更容易理解与记忆
    x: {},         // 详细信息
    y: {}          // 附加信息,存放不让用户直接修改/不常变动的信息
}

type和name应避免使用特殊字符,如空格})*'",:@%$

$product.create(type, x)

创建type类型具体内容为x对象的记录

$product.get(_id, cache)

根据_id获取数据。cache传入0时表示放弃浏览器缓存而总是从数据库中读取。

$product.name(name, cache)

根据唯一名name获取数据。

$product.delete(_id)

根据_id删除数据

$product.modify(_id, updater)

根据更新器updater来更新的数据。

$product.search(path, query, option, cache)

根据query查询条件option选项搜索数据,把查询到的数据存在$c.x下的path路径下。cache传入0时表示放弃浏览器缓存而总是从数据库中读取,大于0时(小时数,范围: 0.1 ~ 5)指示服务器把搜索结果放入缓存,以便下次快速读取。

$product.count(path, query, cache)

类似search,仅获取符合条件的数据条数而不拉取具体内容

$product.distinct(path, field, query, cache)

类似search,仅获取field字段的不重复值,返回数组

$product.aggregate(path, pipeline, cache)

详见聚合统计

$product.setType(_id, type)

设置/修改记录类型type

$product.setName(_id, name)

设置/修改记录唯一名name。设置以后可以把此名用作$id,使URL具有更高的可读性。

由众触低代码平台生成和驱动