Difference between revisions of "MongoDB CreateCollection"

From mi-linux
Jump to navigationJump to search
 
(8 intermediate revisions by the same user not shown)
Line 4: Line 4:
 
If a collection does not exist, MongoDB will automatically create the collection when you first store data for that collection.
 
If a collection does not exist, MongoDB will automatically create the collection when you first store data for that collection.
  
You can, however, create one and set some options:
+
When you first use MongoDB you will find you have no collections:
  
  db.createCollection('deptCollection', {max: 20})
+
  show collections
  
In this case we are going to limit our collection to hold a maximum of 20 documents.
+
When you insert data in the next step, a collection will automatically be created for you.
 
 
== Inserting data ==
 
 
 
The following example will create a collection representing the DEPT/EMP tables seen in the [[Oracle_Sample_Data|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-06-09'),
 
        sal: 2450
 
      },
 
      {
 
        empno:7839,
 
        ename: 'KING',
 
        job: 'PRESIDENT',
 
        hiredate: new Date('1980-11-17'),
 
        sal: 5000
 
      },
 
      {
 
        empno: 7934,
 
        ename: 'MILLER',
 
        job: 'CLERK',
 
        mgr: 7782,
 
        hiredate: new Date('1985-01-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-12-03'),
 
      sal: 3000
 
    },
 
    {
 
      empno: 7066,
 
      ename: 'JONES',
 
      job: 'MANAGER',
 
      mgr: 7839,
 
      hiredate: new Date('1991-04-02'),
 
      sal: 2975
 
    },
 
    {
 
      empno: 7788,
 
      ename: 'SCOTT',
 
      job: 'ANALYST',
 
      mgr: 7566,
 
      hiredate: new Date('2015-10-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: ()
 
* an array uses square brackets: []
 
* a collection uses curly brackets: {}
 
** each element in a nested collection will also use curly brackets
 
* each key:value pair are separated by commas, except for the last item
 
* strings are enclosed in single or double quotes, e.g., 'myString', or "myString"
 
* date strings are enclosed in single/double quotes and the format is 'yyyy-mm-dd' e.g., Date('2016-10-10')
 
* use the Date() constructor to create a date datatype
 
* date can also be a datetime, e.g., new Date("<yyyy-mm-ddThh:mm:ss>")
 
* new Date() will return the current date
 
 
 
== Exercise 2.1 ==
 
 
 
* Compare how you added the above data and how it differs from INSERT records in a relational database
 
* Try and add Department 30. Note it has some values for the comm field.
 
  
 
== Next Step ==
 
== Next Step ==
  
 
[[MongoDB_InsertData|Inserting]] data into the collection
 
[[MongoDB_InsertData|Inserting]] data into the collection

Latest revision as of 11:27, 11 November 2017

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

Create a Collection

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

When you first use MongoDB you will find you have no collections:

show collections

When you insert data in the next step, a collection will automatically be created for you.

Next Step

Inserting data into the collection