e
Jean Carlo Nascimento aka
SUISSA
@osuissa
about.me/suissa
github.com/suissa
nosql.techinsider.com.br
javascript.techinsider.com.br
● É um ambiente de execução para usar JavaScript
fora do navegador
● Linha de comando + console interativo
● Utiliza o engine de JavaScript Google V8
● I/O orientada a eventos (modo assíncrono)
> function agora() {
... var dt = Date().slice(16,24);
... console.log(dt);
... }
undefined
> agora();
13:50:17
undefined
>
Terminologia
SQL RDBMS
DATABASE
TABLE
ROWS
QUERY
INDEX
PARTITION
MongoDB
DATABASE
COLLECTION
JSON DOCUMENT
QUERY
INDEX
SHARD
Talk is cheap. Show me the
code.
Node.js - Hello World
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello Worldn');
}).listen(1337, '127.0.0.1');
console.log('Server running at http://127.0.0.1:1337/');
Node.js - Wassup World
var http = require('http');
var fs = require('fs');
var index = fs.readFileSync('index.html');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/html});
res.end(index);
}).listen(3000);
Node.js - Rotas
express
http://expressjs.com/
Express
● Routing robusto
● Redirecionador para Helpers
● Dynamic View Helpers
● Integração View Template Engine
● Content negotiation (RESTFul)
● Application mounting
● Focado em alta performance
● Renderizador de Views
● Suporte a Partials
● Configuração baseado no ambiente do sistema
operacional
● Desenvolvido com a base no Middleware Connect
Express - Hello World
var express = require('express');
var app = express.createServer();
app.get('/', function(req, res){
res.send('Hello World');
});
app.listen(3000);
jade
http://jade-lang.com/
mongodb native
https://github.com/mongodb/node-mongodb-
native
MongoDB Native
var mongo = require('mongodb');
var db = new mongo.Db('test', new mongo.Server
('localhost',27017, {safe: true}), {});
db.open(function(err, client){
client.createCollection("docs", function(err, col) {
client.collection("docs", function(err, col) {
for (var i = 0; i < 10; i++) {
col.insert({c:i}, function(){
console.log("inserindo: " + i);
});
}
});
});
});
mongoose
https://github.com/LearnBoost/mongoose
Mongoose
var mongoose = require('mongoose'),
Schema = mongoose.Schema;
var db = mongoose.connect('mongodb://localhost/db');
var User = new Schema({
first_name: String,
last_name: String
});
var UserModel = mongoose.model('User', User);
Mongoose
var record = new UserModel();
record.first_name = 'Jean';
record.last_name = 'Nascimento';
record.save(function (err) {
UserModel.find({}, function(err, users) {
for (var i=0, counter=users.length; i < counter; i++)
{
var user = users[i];
console.log( "User => _id: " + user._id + ",
first_name: " + user.first_name + ", last_name: " + user.
last_name );
}
});
});
Devcast   node.js e mongo db o casamento perfeito

Devcast node.js e mongo db o casamento perfeito