@36node/query-normalizr 中文文档教程
@36node/query-normalizr
这里 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
- Fork it!
- Create your feature branch:
git checkout -b my-new-feature
- Commit your changes:
git commit -am 'Add some feature'
- Push to the branch:
git push origin my-new-feature
- 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