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 = "localhost"8086"bob""bobbyjoe""BobsDatabase"
Connects your delorean to an InfluxDB database. Works like the above function but all params are in an object
DeloreanMaker = require 'delorean'delorean = 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.
sql = "select * from mySeries where name == 'bob'"deloreanquery sqlreturn next err if errsuperCallback 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: Stringguesses: type: NumberMyModel = "myModel"protoModelm =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
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 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.
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.