Delorean
Delorean is a library that lets you access InfluxDB databases similar to mongoosejs.
Functions
Delorean(host, port, username, password, database)
Sets up your delorean to connect an InfluxDB database.
DeloreanMaker = require 'delorean'delorean = "localhost"8086"bob""bobbyjoe""BobsDatabase"
Delorean(options)
Connects your delorean to an InfluxDB database. Works like the above function but all params are in an object options
.
DeloreanMaker = require 'delorean'delorean = host: "localhost"port: 8086username: "bob"password: "bobbyjoe"database: "BobsDatabase"
Delorean.query(sqlString, cb)
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'"deloreanquery sql return next err if err superCallback data
This function is used by the model factory to make queries on the database.
Delorean.model(seriesName, validValues)
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 = "myModel"protoModel m = 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.
Model functions
All models built with the Delorean's constructor have the following functions:
Model(newModel)
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.
Model.find(query, select, cb)
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.
Model.prototype.insert(cb)
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.
License
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.