Difference between revisions of "MongoDB CreateCollection"

From mi-linux
Jump to navigationJump to search
Line 98: Line 98:
 
   }
 
   }
 
  }
 
  }
 +
 +
=== Things to note ===
 +
 +
If you are getting errors, check carefully that:
 +
* every opening bracket has a closing bracket
 +
* the insert statement uses round brackets: ()
 +
* collections use curly brackets: {}
 +
* strings are enclosed in single quotes: 'myString'
 +
* date strings are enclosed in single quotes and the format is YYYY-MON-DD e.g., Date('2016-Oct-10')
  
 
=== Exercise 2.1 ===
 
=== Exercise 2.1 ===
  
 
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:15, 18 October 2016

Main Page >> MongoDB >>MongoDB Workbook >> Create Collections

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
   }    
  ]
 }
)

Next department 40, which has no employees currently:

db.deptCollection.insert( 
 {
   deptno: 40,
   dname: 'OPERATIONS',
   loc: 'BOSTON'
 }
}

Things to note

If you are getting errors, check carefully that:

  • every opening bracket has a closing bracket
  • the insert statement uses round brackets: ()
  • collections use curly brackets: {}
  • strings are enclosed in single quotes: 'myString'
  • date strings are enclosed in single quotes and the format is YYYY-MON-DD e.g., Date('2016-Oct-10')

Exercise 2.1

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