You are on page 1of 2

projects fields

/*

By default, queries in MongoDB return all fields in matching documents. To limit the amount of
data

that MongoDB sends to applications, you can include a projection document to specify or
restrict fields to return.

syntax: db.collection_name.find({},{field_key:1 or 0})

*/

use NoSQLBoosterSamples

print('Prepare test data');

db.students.drop();

db.students.insert([

{name:"tom", age:18, class:"a"},

{name:"bill", age:16, class:"b"},

{name:"jenny", age:17, class:"a"},

{name:"rose", age:20, class:"c"},

]);

print(`\nReturn the specified fields and the _id field, db.students.find({class:"a"},{name:1,


age:1}).sort({age:-1, name:1})`)

db.students.find({class:"a"},{name:1, age:1}).sort({age:-1, name:1}).forEach(print);

print(`\nEquivalent nosqlbooster fluent API syntax,


db.students.select("name,age").where("class","a").sort("-age,name")`)

db.students.select("name,age").where("class","a").sort("-age,name").forEach(print)

print(`\nSuppress _id Field, db.students.find({class:"a"},{name:1, class:1, _id:0})`)

//equivalent nosqlbooster fluent API syntax:

//db.students.select("name,class,-_id").where("class","a").forEach(print);

db.students.find({class:"a"},{name:1, class:1, _id:0}).forEach(print);

print(`\nEquivalent nosqlbooster fluent API syntax, db.students.select("name,class,-


_id").where("class","a")`)

db.students.select("name,class,-_id").where("class","a").forEach(print);

/////////////////////////////////////////////////////////////////////////////

You might also like