Angular 1.0.5 Version - http://angularjs.org
The goal of this project is to build Node server to Angular with a Restful complete API to mongoDB. This application is based in angular-phonecat - https://github.com/angular/angular-phonecat .
To load de Phones to Mongo Database called "PhoneCat":
$ node load
To run the aplication:
$ node server
The Actions .get, .save, .delete and .query are default in Angular, and can be used like this way:
Resource.action({params}, [{postData}])
To more information look http://docs.angularjs.org/#!/api/angular.service.$resource
.get({_id: _id})
.save({},$scope.doc}
If the document don't have an "_id", the document is inserted and "_id" is created by ObjectId. If the document have a "_id" but this "_id" don't exist in the database, the document is inserted and a custon "_id" is created. Otherwise, the document is updated.
.delete({ _id: _id }
Simple querys: http://www.mongodb.org/display/DOCS/Querying
.query({})
.query({name : "same name", limit:10, skip:15,
sort:"age", order:"asc" || "desc"}}
Advanced querys: http://www.mongodb.org/display/DOCS/Advanced+Queries
.find({}, {'age': {'$lt":5, '$gt':3}})
Aggregation querys: http://www.mongodb.org/display/DOCS/Aggregation
.count()
.distinct({}, { key: "key" } Ex: {key: "carrier"})
.group({}, {keys: {carrier:true },
cond: {},
initial: {sum: 0, count:0, max:0, avg:0},
reduce: "function(doc,out){ \\
out.sum += doc.age; \\
out.count += 1; \\
out.max = Math.max(out.max, doc.age); \\
out.avg = out.sum/out.count;}"
}
MapReduce querys: http://www.mongodb.org/display/DOCS/MapReduce
.mapReduce({}, {map : mapfunction string,
reduce : reducefunction string,
options: {
query : query filter object,
sort : sorts the input objects using this key
limit : number of objects to return from collection,
finalize : finalizefunction,
scope : object where fields go into global scope
}}
Ex .mapReduce({},{"map": "function(){emit(this.details.android.os, 1);}",
"reduce": "function(key, values){return values.length;}"
}
Angular-resource: Phone.query({})
MondoDB: db.phones.query({})
- Express
- Mongojs
- Tests