delorean-influx

A library to model the results of InfluxDB queries

Delorean is a library that lets you access InfluxDB databases similar to mongoosejs.

Sets up your delorean to connect an InfluxDB database.

DeloreanMaker = require 'delorean'
delorean = new DeloreanMaker "localhost"8086"bob""bobbyjoe""BobsDatabase"

Connects your delorean to an InfluxDB database. Works like the above function but all params are in an object options.

DeloreanMaker = require 'delorean'
delorean = new DeloreanMaker {host: "localhost"port: 8086username: "bob"password: "bobbyjoe"database: "BobsDatabase"}

Makes a query using a SQL statement. The callback function cb will have the following parameters:

  • err — Error on query, null if no error
  • data — An array of all objects that fit the query.

The return data will have the time of the data points in a Javascript Date object

sql = "select * from mySeries where name == 'bob'"
delorean.query sql(err, data) ->
  return next err if err
  superCallback data

This function is used by the model factory to make queries on the database.

Returns a constructor for a model object that will save into the series specified. seriesName is the series to save to, and validValues is an object with a property for each property to be saved into the model. Each property has a type validation.

protoModel = 
  name: type: String
  guesses: type: Number
 
MyModel = new Delorean.model "myModel"protoModel
 
= new MyModel()
m.name = "Bob"
m.guesses = 5

If you do not specify the property when building your constructor, the property will not save to the datapoint when calling the models save() function. The time and sequence_number properties will always be allowed.

All models built with the Delorean's constructor have the following functions:

Creates a new object based on the model. newModel is a javascript object that has valid properties that will be saved into the new model object. If there are not valid properties in the newModel object, they will be skipped.

Makes a query with an object for the query and and object to choose which columns to return back. Callback function has the following parameters:

  • err — Error querying database, null if no error.
  • data — An array holding the results of the query. They will be normalized javascript objects, not an object of the model.

Saves the model to the database. Every time this is called it will save a copy of it to the database. Callback has the following params:

  • err — Error saving to database, null otherwise.

Copyright (c) 2013 i.TV LLC

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.