Professional Documents
Culture Documents
Self-test exercises
9-1
© 2017 Cengage Learning®. May not be scanned, copied or duplicated, or posted to a publicly accessible website, in whole or in part.
Programming exercises
PE1. Create the MongoDB collection on your MongoDB server as shown in the
text and add the library collection.
Answer:
PE2. Write a JavaScript function to add the following books in the library
collection for author John Grisham. The number in the parentheses is the
year of publication.
9-2
© 2017 Cengage Learning®. May not be scanned, copied or duplicated, or posted to a publicly accessible website, in whole or in part.
The Brethren (2000)
A Painted House (2001)
Skipping Christmas (2001)
The Summons (2002)
The King of Torts (2003)
Bleachers† (2003)
The Last Juror (2004)
The Broker (2005)
Playing for Pizza (2007)
The Appeal (2008)
The Associate (2009)
The Confession (2010)
The Litigators (2011)
Calico Joe (2012)
The Racketeer (2012)
Sycamore Row (2013)
Gray Mountain (2014)
Answer:
In file: PE2answer.js
var johnGrisham = {
author: "John Grisham",
books: [
{ title: "A Time to Kill", year: 1989 },
{ title: "The Firm", year: 1991 },
{ title: "The Pelican Brief", year: 1992 },
{ title: "The Client", year: 1993 },
{ title: "The Chamber", year: 1994 },
{ title: "The Rainmaker", year: 1995 },
{ title: "The Runaway Jury", year: 1996 },
{ title: "The Partner", year: 1997 },
{ title: "The Street Lawyer", year: 1998 },
{ title: "The Testament", year: 1999 },
9-3
© 2017 Cengage Learning®. May not be scanned, copied or duplicated, or posted to a publicly accessible website, in whole or in part.
{ title: "The Brethren", year: 2000 },
{ title: "A Painted House", year: 2001 },
{ title: "Skipping Christmas", year: 2001 },
{ title: "The Summons", year: 2002 },
{ title: "The King of Torts", year: 2003 },
{ title: "Bleachers†", year: 2003 },
{ title: "The Last Juror", year: 2004 },
{ title: "The Broker", year: 2005 },
{ title: "Playing for Pizza", year: 2007 },
{ title: "The Appeal", year: 2008 },
{ title: "The Associate", year: 2009 },
{ title: "The Confession", year: 2010 },
{ title: "The Litigators", year: 2011 },
{ title: "Calico Joe", year: 2012 },
{ title: "The Racketeer", year: 2012 },
{ title: "Sycamore Row", year: 2013 },
{ title: "Gray Mountain", year: 2014 }
]
};
9-4
© 2017 Cengage Learning®. May not be scanned, copied or duplicated, or posted to a publicly accessible website, in whole or in part.
Answer:
Answer:
// Note, some of these questions require the students to refer to
www.mongodb.org
// to create the more sophisticated queries
9-5
© 2017 Cengage Learning®. May not be scanned, copied or duplicated, or posted to a publicly accessible website, in whole or in part.
// All the books published by John Grisham
db.library.update(
{ author: "John Grisham" },
{ author: "John Grisham", books: [] }
);
// All the books published between years 2000 and 2009 (by any
author)
db.library.update(
{},
{ $pull: { books: { year: { $gte: 2000, $lte: 2009 }}}},
{ multi: true }
);
9-6
© 2017 Cengage Learning®. May not be scanned, copied or duplicated, or posted to a publicly accessible website, in whole or in part.
Programming projects
PRJ1. Boiler monitor server-side version: We want to change the app that
monitors the temperature and pressure of a boiler so that the data is
stored on a MongoDB server instead of in localStorage. You can model
the app based on the server-side Thyroid app. We have modified the
webpages in the previous chapter. In this chapter, you need to design the
MongoDB database so that the records can be stored and retrieved using
the boiler ID as the key, and to create the routes in your server for the
app to access.
9-7
© 2017 Cengage Learning®. May not be scanned, copied or duplicated, or posted to a publicly accessible website, in whole or in part.
PRJ5. Managing a line of credit server-side version: We want to change the
app that manages our line of credit at a bank so that the data is stored on
a server instead of in localStorage. You can model the app based on the
server-side Thyroid app. We have modified the webpages in the previous
chapter. In this chapter, you need to design the MongoDB database so
that the records can be stored and retrieved using the organization’s ID
as the key, and to create the routes in your server for the app to access.
9-8
© 2017 Cengage Learning®. May not be scanned, copied or duplicated, or posted to a publicly accessible website, in whole or in part.