Mike Wilson
Building Node Applications with
MongoDB and Backbone
Downloa d f r o m W o w ! e B o o k < w w w.woweb o o k . c o m >
ISBN: 978-1-449-33739-1
[LSI]
Building Node Applications with MongoDB and Backbone
by Mike Wilson
Copyright © 2013 Mike Wilson. All rights reserved.
Printed in the United States of America.
Published by O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472.
O’Reilly books may be purchased for educational, business, or sales promotional use. Online editions are
also available for most titles (http://my.safaribooksonline.com). For more information, contact our corporate/
institutional sales department: 800-998-9938 or corporate@oreilly.com.
Editors: Simon St. Laurent and Meghan Blanchette
Production Editor: Kara Ebrahim
Proofreader: Kara Ebrahim
Cover Designer: Karen Montgomery
Interior Designer: David Futato
Illustrator: Rebecca Demarest
December 2012: First Edition
Revision History for the First Edition:
2012-12-07 First release
See http://oreilly.com/catalog/errata.csp?isbn=9781449337391 for release details.
Nutshell Handbook, the Nutshell Handbook logo, and the O’Reilly logo are registered trademarks of O’Reilly
Media, Inc. Building Node Applications with MongoDB and Backbone, the image of the small Indian civet,
and related trade dress are trademarks of O’Reilly Media, Inc.
Many of the designations used by manufacturers and sellers to distinguish their products are claimed as
trademarks. Where those designations appear in this book, and O’Reilly Media, Inc., was aware of a trade‐
mark claim, the designations have been printed in caps or initial caps.
While every precaution has been taken in the preparation of this book, the publisher and author assume no
responsibility for errors or omissions, or for damages resulting from the use of the information contained
herein.
Table of Contents
Preface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii
Part I. Introducing Node.js, Backbone.js, and MongoDB
1.
Introduction and Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Building a Social Network 4
Model-View-Controller (MVC) 5
Pure JavaScript 5
2.
Node.js. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Installing Node.js 8
Express 8
Templates 10
Events 13
Socket.io 15
Modules and CommonJS 17
3.
Backbone.js. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Model 19
View 20
View Template 22
Collection 24
Sync 25
Router and History 25
4.
MongoDB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Accessing Data 27
Writing 28
Querying 31
iii