npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

nw-laf

v1.1.32

Published

nw for Laf

Downloads

7

Readme

使用说明

Laf引入依赖

『依赖管理』-『添加』-『nw-laf』-『重启服务』

Laf云函数使用

引入nw-laf

import cloud from '@/cloud-sdk' // Laf 0.8
// import cloud from '@lafjs/cloud' // Laf 1.0 
// 根据当前使用的Laf版本import其中一个
const nw = require('nw-laf')
const _ = db.command
const $ = _.aggregate

export async function main(ctx: FunctionContext) {
  ...

数据库

1.新增单条数据(add)

支持自定义_id

/**
* add(单条记录)
* @description insert into dbName (列1, 列2,...) values (值1, 值2,....)
* 注意:使用此函数添加的数据会自动加上_add_time(添加当前时间戳) 和 _add_time_str(当前时间字符串格式)
* @params {Object} event 请求参数
* event 请求参数 说明
* @params {esm} cloud        (必填)lafjs-cloud
* @params {String} dbName    (必填)表名
* @params {String} dataJson  (必填)需要添加的数据(json格式)
* @params {Boolean} cancelAddTime  (可选,不填默认false)取消自动生成 _add_time 和 _add_time_str 字段 
* res 返回值为添加数据的id,添加失败,则返回null
* 调用示例:
res.id = await nw.baseDao.add({
    cloud:cloud,
    dbName:dbName,
    dataJson:{
      "name": "张三",
      "age": "19"
    },
    cancelAddTime : true
});
*/

2.批量新增多条数据(add)

支持自定义_id

/**
* adds(多条记录)
* @params {Object} event 请求参数
* event 请求参数 说明
* @params {esm} cloud               (必填)lafjs-cloud
* @params {String} dbName           (必填)表名
* @params {Array(Object)} dataJson  (必填)需要添加的数据(json数组格式)
* @params {String} cancelAddTime  (可选,不填默认false)取消自动生成 _add_time 和 _add_time_str 字段
* res 返回值为添加数据的id,添加失败,则返回null
* 调用示例:
res.id = await nw.baseDao.adds({
  cloud:cloud,
  dbName:dbName,
  dataJson:[{
    "name": "张三",
    "age": "19"
  },{
    name": "李四",
    "age": "20"
  }]
});
*/

3.根据条件删除记录(del)

/**
* del(根据条件删除记录)
* @params {Object} event 请求参数
* event 请求参数 说明
* @params {esm} cloud        (必填)lafjs-cloud
* @params {String} dbName    (必填)表名
* @params {String} whereJson (可选)条件
* res 返回值为删除的记录数量
* 调用示例:
res.num = await nw.baseDao.del({
  cloud:cloud,
  dbName:dbName,
  whereJson:{
    name:"张三"
  }
});
*/

4.根据条件批量修改记录(update)

/**
* update(根据条件修改记录)
* @params {Object} event 请求参数
* event 请求参数 说明
* @params {esm} cloud   (必填)lafjs-cloud
* @params {String} dbName   (必填)表名
* @params {String} whereJson (可选)条件
* res 返回值为受影响的行数
* 调用示例:
let time = new Date()
res.num = await nw.baseDao.update({
  cloud:cloud,
  dbName:dbName,
  whereJson:{
    _add_time: _.gte(time).lte(time + 1000),
  },
  dataJson:{
    num:_.inc(1)
  }
});
*/

5.根据条件分页查询记录(select)

/**
* select(根据条件查询记录)
* @params {Object} event 请求参数
* event 请求参数 说明
* @params {esm} cloud   (必填)lafjs-cloud
* @params {String} dbName   (必填)表名
* @params {Number} pageIndex (可选,默认1)第几页
* @params {Number} pageSize  (可选,默认10)每页显示数量
* @params {Object} whereJson (可选)条件
* @params {Object} fieldJson (可选)字段显示规则,只能指定要返回的字段或者不要返回的字段
* @params {Array(Object)} sortArr (可选)排序规则
* res 返回值
* @params {Number} code 0代表查询成功
* @params {Array(Object)} rows 列表
* @params {Boolean} hasMore 分页需要 true 还有下一页 false 无下一页
* @params {Number} pageIndex 当前所在页数
* @params {Number} pageSize  每页显示数量
* 调用示例:
  res = await nw.baseDao.select({
    cloud:cloud,
    dbName:dbName,
    pageIndex:1,
    pageSize:100,
    whereJson:{
      _add_time: _.gte(time).lte(time+1000),
    },
  fieldJson: {
    _id: true,
    name: true,
  },
  sortArr:[{ name: "_add_time",type: "asc" },{ name: "_id",type: "desc" }]
  });
*/

6.万能联表查询(selects)

/**
* selects(万能联表,多表连查)
* @params {Object} event 请求参数
* event 请求参数 说明
* @params {esm} cloud   (必填)lafjs-cloud
* @params {String} dbName   (必填)表名
* @params {Object} whereJson (可选)主表where条件
* @params {Number} pageIndex (可选,默认1)第几页
* @params {Number} pageSize  (可选,默认10)每页显示数量
* @params {Number} getCount  (可选,默认false)true返回关联查询前主表查询总数量,false返回rows的数量
* @params {Object} fieldJson (可选)主表字段显示规则,只能指定要返回的字段或者不要返回的字段
* @params {Array(Object)} sortArr (可选)主表排序规则
* @params {Array(Object)} foreignDB (可选)连表规则
* foreignDB 参数说明 数组内每一个对象代表一个连表规则
* @params {String} dbName (必填)副表表名
* @params {String} localKey (必填)主表外键名
* @params {String} foreignKey (必填)副表外键名
* @params {Number} limit (可选)关联查询的数量,1时为对象,大于1为数组
* @params {String} as  (必填)副表连表结果的别名
* @params {Object} whereJson  (可选)副表 where 条件
* @params {Object} fieldJson  (可选)副表字段显示规则
* @params {Array(Object)} sortArr  (可选)副表排序规则
* res 返回值
* @params {Number} code 0代表查询成功
* @params {Number} total getCount为true返回关联查询前主表查询总数量,false返回rows的数量
* @params {Array(Object)} rows 列表
* @params {Boolean} hasMore 分页需要 true 还有下一页 false 无下一页
* @params {Number} pageIndex 当前所在页数
* @params {Number} pageSize  每页显示数量
* 调用示例:
res = await nw.baseDao.selects({
  cloud:cloud,
  dbName: "users",
  getCount: false,
  pageIndex: 1,
  pageSize: 10,
  // 主表where条件
  whereJson: {

  },
  // 主表字段显示规则
  fieldJson: {
    token: false,
    password: false,
  },
  // 主表排序规则
  sortArr: [{ "name": "_id","type": "desc" }],
  // 副表列表
  foreignDB: [
    {
      dbName: "order",//副表order
      localKey:"_id",
      foreignKey: "user_id",
      as: "orderList",
      limit: 10,
      // 副表where条件
      whereJson: {},
      // 副表字段显示规则
      fieldJson: {},
      // 副表排序规则
      sortArr: [{ "name": "time","type": "desc" }],
    },
    {
      dbName: "vip",//副表vip
      localKey:"_id",
      foreignKey: "user_id",
      as: "vipInfo",
      limit: 1,
    }
  ]
});
*/

7.根据 _id 查询记录(findById)

/**
* 根据 _id 查询记录
* @params {Object} event 请求参数
* event 请求参数 说明
* @params {esm} cloud       (必填)lafjs-cloud
* @params {String} dbName   (必填)表名
* @params {String} id     (必填)id
* @params {Object} fieldJson (可选)字段显示规则 只能指定要返回的字段或者不要返回的字段
* res 返回值为单行记录
* 调用示例:
res = await nw.baseDao.findById({
  cloud:cloud,
  dbName:dbName,
  id:_id,
  fieldJson: {
    _id: true,
    name: true,
  },
});
*/

8.根据whereJson查询数据(findByWhereJson)

不带分页,分页请用select

/**
* 根据whereJson查询对象
* @params {Object} event 请求参数
* event 请求参数 说明
* @params {esm} cloud   (必填)lafjs-cloud
* @params {String} dbName   (必填)表名
* @params {Object} fieldJson (可选)字段显示规则 只能指定要返回的字段或者不要返回的字段
* @params {Object} whereJson (可选)查询条件
* res 返回值为单行记录
* 调用示例:
res = await nw.baseDao.findByWhereJson({
  cloud:cloud,
  dbName:"users",
  whereJson:{
    nickname:"nw"
  },
  fieldJson:{
    token:true,
    password:true,
  }
});
*/

9.根据条件查询记录数量(count)

/**
* count(根据条件查询记录数量)
* @params {Object} event 请求参数
* event 请求参数 说明
* @params {esm} cloud   (必填)lafjs-cloud
* @params {String} dbName    (必填)表名
* @params {Object} whereJson (可选)查询条件
* res 返回值为单行记录
* 调用示例:
let num = await nw.baseDao.count({
  cloud:cloud,
  dbName:dbName,
  whereJson:{

  }
});
*/

10.根据条件求和(sum)

/**
* sum(根据条件求和)
* @params {Object} event 请求参数
* event 请求参数 说明
* @params {esm} cloud   (必填)lafjs-cloud
* @params {String} dbName    (必填)表名
* @params {Object} whereJson (可选)查询条件
* @params {String} fieldName (必填)需求求和的字段名(比如是数值类型的字段)
* res 返回值为单行记录
* 调用示例:
res = await nw.baseDao.sum({
  cloud:cloud,
  dbName:dbName,
  fieldName:"money",
  whereJson:{

  }
});
*/

11.根据条件求平均值(avg)

/**
* avg(根据条件求平均值)
* @params {Object} event 请求参数
* event 请求参数 说明
* @params {esm} cloud   (必填)lafjs-cloud
* @params {String} dbName    (必填)表名
* @params {Object} whereJson (可选)查询条件
* @params {String} fieldName (必填)需求平均值的字段名(比如是数值类型的字段)
* res 返回值为单行记录
* 调用示例:
res = await nw.baseDao.avg({
  cloud:cloud,
  dbName:dbName,
  fieldName:"money",
  whereJson:{

  }
});
*/

12.根据条件求最大值(max)

/**
* max(根据条件求最大值)
* @params {Object} event 请求参数
* event 请求参数 说明
* @params {esm} cloud   (必填)lafjs-cloud
* @params {String} dbName    (必填)表名
* @params {Object} whereJson (可选)查询条件
* @params {String} fieldName (必填)需求平均值的字段名(比如是数值类型的字段)
* res 返回值为单行记录
* 调用示例:
res = await nw.baseDao.max({
  cloud:cloud,
  dbName:dbName,
  fieldName:"money",
  whereJson:{

  }
});
*/

13.根据条件求最小值(min)

/**
* min(根据条件求最小值)
* @params {Object} event 请求参数
* event 请求参数 说明
* @params {esm} cloud   (必填)lafjs-cloud
* @params {String} dbName    (必填)表名
* @params {Object} whereJson (可选)查询条件
* @params {String} fieldName (必填)需求平均值的字段名(比如是数值类型的字段)
* res 返回值为单行记录
* 调用示例:
res = await nw.baseDao.min({
  cloud:cloud,
  dbName:dbName,
  fieldName:"money",
  whereJson:{

  }
});
*/