@canner/canner-api v0.0.24
canner-api

The api of canner.
Installation
$ npm install --save canner-apior
<script src="https://static.canner.io/canner-api/stable/sdk.js"></script>Usage
import CannerApi from 'canner-api';
const db = new CannerApi(<api key>).connect();
db.array('article')
.find({title: 'Today is a good day.'})
.exec((err, docs) {
// ...
});
db.object('author')
.get('name')
.exec((err, docs) {
// ...
});API
- Type
- exec
- Operators
- Conditions (Only for array)
- Options (Only for array)
Type
There are two data formats to choose. Each one of them offer the serveral methods to do operation on it.
array
Declares the specific array of the data.
db.array('posts');object
Declares the specific object of the data.
db.object('info');exec
Executes the request. If callback is not given, return a Promise;
db.array('posts')
.find({title:'Today is a good day.'});
.exec(callback);
db.array('posts')
.find({title:'Today is a good day.'});
.exec()
.then(callback)
.catch(errHandler);Operators
find
Only for array. Declares this request a find operator. Executed when give a callback.
db.array('posts')
.find()
db.array('posts')
.find({title: 'Today is a good day.'})
db.array('posts')
.find({title: 'Today is a good day.'}, function(err, docs) {
// docs = [
// {title: 'Today is a good day.'}
// ]
// ...
});findOne
Only for array. Declares this request a findOne operator. Executed when give a callback. Return the first matched data.
db.array('posts')
.findOne()
db.array('posts')
.findOne({title: 'Today is a good day.'})
db.array('posts')
.findOne({title: 'Today is a good day.'}, function(err, doc) {
// doc = {
// title: 'Today is a good day.'
// }
// ...
});Delete
Only for array. Declares this request a delete operator. Executed when give a callback.
db.array('posts')
.delete('<postId>')
db.array('posts')
.delete('<postId>', function(err) {
if (err) {
// do something
}
});Update
Only for array. Declares this request a update operator. Executed when give a callback.
db.array('posts')
.update('<postId>', {title: 'This is a good day!'})
db.array('posts')
.update('<postId>', {title: 'This is a good day!'}, function(err) {
// ...;
});Create
Only for array. Declares this request a create operator. Executed when give a callback.
db.array('posts')
.create({title: 'This is a good day.', content: 'yes'})
db.array('posts')
.create({title: 'This is a good day.', content: 'yes'}, function(err, docs) {
// ...;
// return the docs you given with its _id
});Set
Only for object. Declares this request a set operator. Executed when give a callback.
db.object('person')
.set('name', 'canner-tools!')
db.object('person')
.set('info/city', 'Taipei', function(err) {
// ...;
});Get
Only for object. Declares this request a get operator. Executed when give a callback.
db.object('person')
.get('', function(err, doc) {
// doc = {
// name: 'lee'
// }
})
db.object('person')
.get('name', function(err, doc) {
// doc = 'lee'
// ...;
});Conditions
Only for array.
where
Specifies a path for adding one or one more conditions.
db.array("posts")
.where({'title', 'title'})
.find(callback)
db.array('post').find()
.where({date: {$gt: '2017/05/04'}})
db.array('post').find()
.where('date').gt('2017/05/04')
.where('date').lt('2017/05/08')
.exec(callback)gt
Specifies $gt condition.
db.array("posts")
.where('viewer').gt(15)gte
Specifies $gte condition.
db.array("posts")
.where('viewer').gte(15)lt
Specifies $lt condition.
db.array("posts")
.where('viewer').lt(150)lte
Specifies $lte condition.
db.array("posts")
.where('viewer').lte(150)equals
Specifies $eq condition.
db.array("posts")
.where('viewer').equals(15)
db.array("posts")
.where('viewer').eq(15)contains
Specifies $contains condition.
// posts: [{
// title: 'this is a title',
// tags: ['tiger', 'elephant', ...]
// }]
db.array("posts")
.where('tags').contains('tiger')in
Specifies $in condition.
// posts: [{
// title: 'this is a title',
// tag: 'tiger'
// }]
db.array("posts")
.where('tag').in(['tiger', 'elephant', 'dog'])exists
Specifies $exists condition.
// posts: [{
// title: 'post1',
// content: 'content',
// ahthor: 'Lee'
// }, {
// title: 'post2',
// content: 'content',
// }]
// find the posts which have the author field
db.array("posts")
.where('author').exists()Options
Only for array.
limit
Specifies the limit option.
db.array("posts")
.find().limit(10)skip
Specifies the skip option.
db.array("posts")
.find().skip(10)sort
Specifies the sort option.
db.array("posts")
.find().sort(10)page
Specifies the page option.
use with perPage
db.array("posts").find().page(2)
.exec(function(err, docs) {
// docs = {
// data: [...],
// totalPage: 8
// }
});perPage
Specifies the perPage option.
use with page
db.array("posts").find().perPage(10)
.exec(function(err, docs) {
// docs = {
// data: [...],
// totalPage: 8
// }
});License
Apache-2.0 © abz53378
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago