Vedi su GitHub
 (1 commento) (0 reazioni) (0 assegnatari)JavaScript (1268 fork)batch import
Help Wantedenhancementmajor

Metriche repository

Star
 (6134 star)
Metriche merge PR
 (Nessuna PR mergiata in 30 g)

Descrizione

To control api we are use:

Comparison Query Operators

EQ

  • url: /api/item?name=test
    • name: 'test'
  • url: /api/item?name.second=test
    • "name.second": 'test'

NEQ

  • url: /api/item?name=!test
    • name: $ne: 'test'

GT

  • url: /api/item?name=>1
    • name: $gt: 1

GTE

  • url: /api/item?name=]1
    • name: $gte: 1

LT

  • url: /api/item?name=<1
    • name: $lt: 1

LTE

  • url: /api/item?name=[1
    • name: $lte: 1

IN

  • url: /api/item?name=@1|2|3
    • name: $in: ['1','2','3']

NIN

  • url: /api/item?name=#1|2|3
    • name: $nin: ['1','2','3']

Evaluation Query Operators

REGEX

  • url: /api/item?name=~test
    • name: $regex: 'test'

Sort

  • /api/item?order=name
  • /api/item?order=-name

Limit

  • /api/item?limit=25&skip=0

We make simple module to convert resp.query to "mongose model find"

https://github.com/alexsuslov/wcQuery

Simple use in server api controller:

"use strict"

_ = require("lodash")
Item = require("./item.model")
Query = require("wc-query")
fields = {}

# Get list of items
exports.index = (req, res) ->
  query = Query(req.query)
  Item.find query.conditions, fields, query.options, (err, items) ->
    throw err if err
    return handleError(res, err)  if err
    res.json 200, items

BRGD Alex

Guida contributor