Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 1,000,000+ packages pre-installed, including @36node/query-normalizr with all npm packages installed. Try it out:

var queryNormalizr = require("@36node/query-normalizr")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

@36node/query-normalizr v0.5.0

A module boilerplate for nodejs and web.


version downloads

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


yarn add @36node/query-normalizr


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

  _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);
  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


  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


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

Authored and maintained by 36node with help from contributors (list). · GitHub @36node · Twitter @y

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free