Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/amark/mongous

Simple MongoDB driver for Node.js with jQuery like syntax.
https://github.com/amark/mongous

Last synced: about 1 month ago
JSON representation

Simple MongoDB driver for Node.js with jQuery like syntax.

Awesome Lists containing this project

README

        

Mongous
==========
Mongous, for hu*mongous*, is a simple and blazing fast MongoDB driver that uses a jQuery like syntax.

### How it works

var $ = require("mongous").Mongous;

$("database.collection").save({my:"value"});

$("database.collection").find({},function(r){
console.log(r);
});

Done. App development has never felt as close to the shell as this! Making it a breeze to grab'n'store anything anywhere in your code without the nasty hassle of connections, collections, and cascading callbacks.

### Database & Collections

- db('Database.Collection')
- Database is the name of your database
- Collection is the name of your collection
- Examples
- db('blog.post')
- db('blog.post.body')

### Commands

- **Update** db('blog.post').update(find, update, ...)
- find
is the object you want to find.
- update
is what you want to update find with.
- ...
- { upsert: true, multi: false }
- true, true
- **Save** db('blog.post').save(what)
- what
is the object to be updated or created.
- **Insert** db('blog.post').insert(what...)
- what
is an object to be created.
is an array of objects to be created.
- Examples
- db('blog.post').save({hello: 'world'})
- db('blog.post').save([{hello: 'world'}, {foo: 'bar'}])
- db('blog.post').save({hello: 'world'}, {foo: 'bar'})
- **Remove** db('blog.post').remove(what, ...)
- what is the object to be removed.
- ...
true for atomic.
- **Find** db('blog.users').find(..., function(reply){ })
- reply
is the reply from MongoDB.
- reply.documents
are the documents that you found from MongoDB.
- ...

params are filtered by type
- Objects
- first object
is what you want to find.
- second object
are fields you want

Ex: { name: 1, age: 1 }
- third object
is any of the following options:

{ lim: x, skip: y, sort:{age: 1} }
- Numbers
- first number
is the limit (return all if not specified)
- second number
is the skip
- Examples
- db('blog.users').find(5, function(reply){ })

reply.documents is the first 5 documents,
- db('blog.users').find(5, {age: 23}, function(reply){ })

with age of 23,
- db('blog.users').find({age: 27}, 5, {name: 1}, function(reply){ })

and a name.
- db('blog.users').find(5, {age: 27}, {name: 1}, {lim: 10}, function(reply){ })

is the same as the previous example, except the limit is 10 instead of 5.
- db('blog.users').find(5, function(reply){ }, 2)

reply.documents skips the first 2 documents and is the next 3 documents.
- db('blog.users').find(function(reply){ }, {age: 25}, {}, {limit: 5, skip: 2})

is the same as the previous example except only of doucments with the age of 25.
- db('blog.users').find({}, {}, {sort: {age: -1}}, function(reply){ })

reply.documents is sorted by age in a decsending (acsending while it is {age:1} ) order.
- **Operations** db('blog.$cmd').find(command,1)
- command
is the database operation command you want to perform.
- Example
db('blog.$cmd').find({drop:"users"},1)

drops the users collection, deleting it.
- **Authentication** db('blog.$cmd').auth(username,password,callback)
- username, password

username and password of the 'blog' database
- callback

the callback function when authentication is finished.
- Example
- db('blog.$cmd').auth('user','pass',function(reply){})

- **Open** db().open(host,port)
- Only necessary to call if you explicitly want a different host and port, elsewise it lazy opens.

Mongous is a reduction ('less is more') of node-mongodb-driver by Christian Kvalheim.