Difference between revisions of "MongoDB InsertData"
From mi-linux
Jump to navigationJump to searchLine 8: | Line 8: | ||
db.deptCollection.insert( | db.deptCollection.insert( | ||
{ | { | ||
− | keyField_1: value, | + | keyField_1: 'value', |
keyField_n: value | keyField_n: value | ||
} | } | ||
) | ) | ||
</pre> | </pre> | ||
+ | |||
+ | Note, character and date values must be enclosed in matching single (') or double quotes ("). | ||
+ | |||
+ | keyFields are comma-separated and the value can be a nested document. | ||
+ | |||
+ | === Department 10 === | ||
The following example will create a insert data representing the DEPT/EMP tables seen in the [[Oracle_Sample_Data|Oracle Sample Data]]. | The following example will create a insert data representing the DEPT/EMP tables seen in the [[Oracle_Sample_Data|Oracle Sample Data]]. | ||
Line 56: | Line 62: | ||
WriteResult({ "nInserted" : 1 }) | WriteResult({ "nInserted" : 1 }) | ||
</pre> | </pre> | ||
+ | |||
+ | === Department 20 === | ||
Next add department 20: | Next add department 20: | ||
Line 100: | Line 108: | ||
} | } | ||
) | ) | ||
+ | |||
+ | === Department 40 === | ||
Next department 40, which has no employees currently: | Next department 40, which has no employees currently: |
Revision as of 15:58, 20 October 2016
Main Page >> MongoDB >>MongoDB Workbook >> Insert Data
Inserting data
The format for the INSERT command is:
db.deptCollection.insert( { keyField_1: 'value', keyField_n: value } )
Note, character and date values must be enclosed in matching single (') or double quotes (").
keyFields are comma-separated and the value can be a nested document.
Department 10
The following example will create a insert data 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-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 } ] } )
Assuming you have no error messages, the system should respond with:
WriteResult({ "nInserted" : 1 })
Department 20
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 } ] } )
Department 40
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
Querying the collection