Difference between revisions of "MongoDB QueryData"

From mi-linux
Jump to navigationJump to search
(Created page with " Show all data so far: db.deptCollection.find() Comes back messy, can make it better: db.deptCollection.find().pretty() Or just find one document: db.deptCollection.fi...")
 
Line 16: Line 16:
  
 
However, does mean you get back all the employees!
 
However, does mean you get back all the employees!
 +
 +
Since version 2.2 MongoDB's new $elemMatch can avoid this:
 +
 +
db.deptCollection.find({"employees.empno":7902},
 +
{ _id: 0, employees: {$elemMatch: {empno: 7902}}}).pretty()
 +
 +
$elemMatch limits the contents of the employees array to contain only the first element matching the $elemMatch condition.

Revision as of 20:56, 18 October 2016


Show all data so far:

db.deptCollection.find()

Comes back messy, can make it better:

db.deptCollection.find().pretty()

Or just find one document:

db.deptCollection.find({"deptno":10}).pretty()

Finding an employee means using the array name too:

db.deptCollection.find({"employees.empno":7902}).pretty()

However, does mean you get back all the employees!

Since version 2.2 MongoDB's new $elemMatch can avoid this:

db.deptCollection.find({"employees.empno":7902}, 
{ _id: 0, employees: {$elemMatch: {empno: 7902}}}).pretty()

$elemMatch limits the contents of the employees array to contain only the first element matching the $elemMatch condition.