expression-to-mql
parse arithmetic expressions and convert them to MongoDB aggregation expressions
Last updated a year ago by rueckstiess .
MIT · Original npm · Tarball · package.json
$ cnpm install expression-to-mql 
SYNC missed versions from official npm registry.

expression-to-mql

A node package and CLI executable to parse arithmetic expressions and convert them to MongoDB aggregation expressions.

Features

The expression language allows the following:

  • Field names (unquoted, or quoted with single or double quotes)
  • Reference to nested fields using dot notation: product.quantity
  • Literal numbers (integer or decimal)
  • Operators: +, -, *, /
  • Brackets for grouping (, )
  • Whitespace outside of quoted strings is irrelevant

Examples of valid expressions:

  • price * quantity
  • 'total amount' * 1.1
  • (foo.temp - 32)*5/9

The expressions are converted to valid MongoDB Aggregation Expressions to be used in $project or $addFields stages.

CLI usage

While the intended use is programmatic via ES6 modules or CommonJS require, it also comes with a tiny executable so that it can easily be used at the command line. To use this tool from the command line, follow these steps:

  1. npm install -g expression-to-mql
  2. expr2mql 'foo + 1'

Alternatively, you can check out the repository locally and run:

node ./bin/expr2mql.js 'foo + 1'

API usage

The main function is exprToMQL(), which can be used as follows:

import exprToMQL from 'expression-to-mql';

const mql = exprToMQL('foo + 1');
console.log( JSON.stringify(mql) );

This would output

{"$sum":["$foo",1]}

Current Tags

  • 0.1.0                                ...           latest (a year ago)

1 Versions

  • 0.1.0                                ...           a year ago
Maintainers (1)
Downloads
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 0
Dependencies (6)
Dev Dependencies (8)
Dependents (0)
None

Copyright 2014 - 2017 © taobao.org |