WebFund 2015W: Assignment 5: Difference between revisions

From Soma-notes
No edit summary
No edit summary
Line 15: Line 15:
Note the query is mandatory.  The output file should default to standard out, and the if no maxcount is specified then all matching documents should be returned.
Note the query is mandatory.  The output file should default to standard out, and the if no maxcount is specified then all matching documents should be returned.


The query should be a single string that follows one of two formats:
The query should be a single string that follows the syntax of a query object, except that the enclosing curly braces are optional.  In other words given this string you should be able to:
 
* add enclosing curly braces if they are not present,
* query as a query object
* convert the string to an object using [https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse JSON.parse()], and then
* query by specific fields (title, author, substring in contents)
* retrieve all the documents using [http://docs.mongodb.org/manual/reference/method/db.collection.find/ queries given to find()] (getting a cursor object) and [http://docs.mongodb.org/manual/reference/method/cursor.toArray/ .toArray()] to actually get all the results returned in an array.
 
More specifics for automated grading will be forthcoming by end of Tuesday.

Revision as of 19:24, 24 February 2015

This Assignment is not yet finalized

In this assignment you will create queryNotes.js, a program that will query the notes collection for matching notes. Please submit your answers as a single JavaScript source file called "<username>-queryNotes.js" (where username is your MyCarletonOne username). Please do not submit a zip file (i.e., no need for a node_modules directory).

In addition to the points below, you also get up to 2 points for overall programming style. In total, there are 10 points. The questions below will be automatically graded for everything but style.

This assignment is due March 2, 2015.

Features

queryNotes.js should be called as follows:

 node queryNotes.js [--output=<output file>] [--maxcount=<max number of documents to return>]  <query> 

Note the query is mandatory. The output file should default to standard out, and the if no maxcount is specified then all matching documents should be returned.

The query should be a single string that follows the syntax of a query object, except that the enclosing curly braces are optional. In other words given this string you should be able to:

  • add enclosing curly braces if they are not present,
  • convert the string to an object using JSON.parse(), and then
  • retrieve all the documents using queries given to find() (getting a cursor object) and .toArray() to actually get all the results returned in an array.