Skip to content

Instantly share code, notes, and snippets.

@aheckmann
aheckmann / v3-pt2-findoneandupdate.js
Created June 27, 2012 17:20
v3-pt2-findoneandupdate
var query = { name: 'Sprinkls' };
var update = { name: 'Sprinkles' };
var options = { new: false };
Cat.findOneAndUpdate(query, update, options, function (err, cat) {
if (err) ..
render('cat', cat);
});
@aheckmann
aheckmann / v3-pt2-findbyidandupdate.js
Created June 27, 2012 17:20
v3-pt2-findbyidandupdate
var update = { name: 'Sprinkles' };
Cat.findByIdAndUpdate(id, update, function (err, cat) {
if (err) ..
render('cat', cat);
});
@aheckmann
aheckmann / v3-pt-findbyid.js
Created June 27, 2012 17:19
v3-pt-findbyid
Cat.findById(id, function (err, cat) {
if (err) ...
cat.name = 'Sprinkles'
cat.save(function (err) {
if (err) ..
render('cat', cat);
})
})
@aheckmann
aheckmann / v3-p1-fix-comment
Created June 20, 2012 20:05
v3-p1-fix-comment
Post.findById(postId, function (err, post) {
// handle errors ..
var comment = post.comments.id(commentId);
comment.body = updatedText;
post.save(callback);
});
@aheckmann
aheckmann / v3-p1-save-comment.js
Created June 20, 2012 20:04
v3-p1-save-comment
Post.findById(postId, function (err, post) {
// handle errors ..
post.comments.push({ body: someText, user: userId });
post.save(callback);
})
@aheckmann
aheckmann / v3-comment-schema.js
Created June 20, 2012 20:03
v3-comment-schema
var commentSchema = new Schema({
body: String
, user: Schema.ObjectId
, created: { type: Date, default: Date.now }
});
var postSchema = new Schema({ comments: [commentSchema] });
var Post = mongoose.model('Post', postSchema);
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
mongoose.connect('localhost', 'testing_11074799');
mongoose.connection.on('error', function () {
console.error(arguments);
});
var UserSchema = new Schema({ name: String });
@aheckmann
aheckmann / fakestackoverflow.js
Created June 14, 2012 18:12
fake stack overflow
var times = 0;
function loop () {
++times;
if (times >= 30000) throw new Error('fake stack overflow');
return loop;
}
function start () {
var fn;
while (fn = loop()) fn();
@aheckmann
aheckmann / trampoline.js
Created June 14, 2012 18:10
trampoline
var times = 0;
function loop () {
++times;
if (times >= 30000) return;
return loop;
}
function start () {
var fn;
while (fn = loop()) fn();
var times = 0;
function loop () {
++times;
loop();
}
try {
loop();
} finally {
console.log('stack overflow after %d loops', times)