Difference between revisions of "MongoDB Documents"

From mi-linux
Jump to navigationJump to search
Line 85: Line 85:
 
       hiredate: new Date('2015-OCT-16'),
 
       hiredate: new Date('2015-OCT-16'),
 
       sal: 3000
 
       sal: 3000
}     
+
    }     
 
   ]
 
   ]
 
  }
 
  }
 
  )
 
  )
  
To do:
+
=== Exercise ===
 +
 
 
Try and add Department 30. Note it has some values for the comm field.
 
Try and add Department 30. Note it has some values for the comm field.

Revision as of 20:55, 18 October 2016

Main Page >> MongoDB >>MongoDB Workbook >> MongoDB Documents

Create a Collection

If a collection does not exist, MongoDB creates the collection when you first store data for that collection.

You can create one and set some options:

db.createCollection('deptCollection', {autoIndexID : true})

The following example will create a collection representing the DEPT/EMP tables seen in the Oracle Sample Data.

Add department 10 and it's employees:

db.deptCollection.insert( 
 {
    deptno: 10, 
    dname: 'ACCOUNTING',
    loc: 'NEW YORK',
    employees: [
     {
        empno: 7782,
        ename: 'CLARK',	
        job: 'MANAGER',
        mgr: 7839, 	
        hiredate: new Date('1989-JUN-09'),
        sal: 2450
     },
     {
        empno:7839,
        ename: 'KING',
        job: 'PRESIDENT',
        hiredate: new Date('1980-NOV-17'),
        sal: 5000
      },
      {
        empno: 7934,
        ename: 'MILLER',
        job: 'CLERK',
        mgr: 7782,
        hiredate: new Date('1985-JAN-23'),
        sal: 1300
      }
    ]
   } 
 )

Next add department 20:

db.deptCollection.insert( 
{
  deptno: 20,
  dname: 'RESEARCH',
  loc: 'DALLAS',
  employees [
   {
      empno: 7876,
      ename: 'ADAMS',
      job: 'CLERK',
      mgr: 7788
      hiredate: new Date(),
      sal: 1100
   },
   {
      empno: 7902,
      ename: 'FORD',
      job: 'ANALYST',
      mgr: 7566,
      hiredate: new Date('1991-DEC-03'),
      sal: 3000
   },
   {
      empno: 7066,
      ename: 'JONES',
      job: 'MANAGER',
      mgr: 7839,
      hiredate: new Date('1991-APR-02'),
      sal: 2975
   },
   {
      empno: 7788,
      ename: 'SCOTT',
      job: 'ANALYST',
      mgr: 7566,
      hiredate: new Date('2015-OCT-16'),
      sal: 3000
   }    
  ]
}
)

Exercise

Try and add Department 30. Note it has some values for the comm field.