@36node/query-normalizr 中文文档教程

发布于 3年前 浏览 23 项目主页 更新于 3年前

@36node/query-normalizr

versiondownloads

这里 query-normalizr 的作用: 将经过类型转换的 koa query 规则化成对应数据库的 query。

Install

yarn add @36node/query-normalizr

Usage

import { toMongooseQuery } from "@36node/query-normalizr";

console.log(rawQuery);
/*
{
  _limit: 10,
  _offset: 10,
  _sort: "-createdBy",
  _populate: "user",
  _select: ["views", "body"],
  _group: ["ns", "author"],
  age_lt: 10,
  age_gt: 5,
  tag_ne: "pretty",
  name: "sherry",
  title_like: "hello",
  assignees: "*",
  followers: "none",
  q: hello"
};
*/
const mQuery = toMongooseQuery(rawQuery);
console.log(mQuery);
/*
{
  limit: 10,
  offset: 10,
  sort: "-createdBy", // if array should be: ["-createdBy", "views"]
  select: ["views", "body"], // if single should be: "views"
  group: ["ns", "author"], // group by
  populate: "author",
  filter: {
    age: {
      $lt: 10,  // age_lt
      $gt: 5,   // age_gt
    },
    tag: {
      $ne: "pretty",  // tag_ne
    },
    name: "sherry",
    title: /hello/i,  // like
    assignees: { $ne: [] },
    followers: { $eq: [] },
    $text: { $search: "hello" }
  }
}
*/

Query in route (QIR)

reference in url.md

Contributing

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request :D

Author

query-normalizr © 36node, Released under the MIT License.

Authored and maintained by 36node with help from contributors (list).

github.com/zzswang · GitHub @36node · Twitter @y

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文