Compare commits
No commits in common. "ba4b4629ce1251718b4a18e88045d453031fd268" and "6eae704642bb67cacd6b0904614f0d8367de7f35" have entirely different histories.
ba4b4629ce
...
6eae704642
@ -51,8 +51,8 @@ db.Employee.insertMany([
|
|||||||
Expertise: ['Docker', 'Linux', 'Networking', 'Politics'],
|
Expertise: ['Docker', 'Linux', 'Networking', 'Politics'],
|
||||||
DOB: new Date("1969-03-12"),
|
DOB: new Date("1969-03-12"),
|
||||||
Email: "ayush.k@tcs.com",
|
Email: "ayush.k@tcs.com",
|
||||||
Contact: 9972410427,
|
contact: 9972410427,
|
||||||
Address: [{PAddr: "Kokan, Maharashtra"}, {LAddr: "Lohegaon, Pune"}]
|
address: [{PAddr: "Kokan, Maharashtra"}, {LAddr: "Lohegaon, Pune"}]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Name: {FName: "Mehul", LName: "Patil"},
|
Name: {FName: "Mehul", LName: "Patil"},
|
||||||
@ -63,8 +63,8 @@ db.Employee.insertMany([
|
|||||||
Expertise: ['HTML', 'CSS', 'Javascript', 'Teaching'],
|
Expertise: ['HTML', 'CSS', 'Javascript', 'Teaching'],
|
||||||
DOB: new Date("1964-06-22"),
|
DOB: new Date("1964-06-22"),
|
||||||
Email: "mehul.p@mepa.com",
|
Email: "mehul.p@mepa.com",
|
||||||
Contact: 9972410426,
|
contact: 9972410426,
|
||||||
Address: [{PAddr: "NDB, Maharashtra"}, {LAddr: "Camp, Pune"}]
|
address: [{PAddr: "NDB, Maharashtra"}, {LAddr: "Camp, Pune"}]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Name: {FName: "Himanshu", LName: "Patil"},
|
Name: {FName: "Himanshu", LName: "Patil"},
|
||||||
@ -75,8 +75,8 @@ db.Employee.insertMany([
|
|||||||
Expertise: ['Mongodb', 'Mysql', 'Cassandra', 'Farming'],
|
Expertise: ['Mongodb', 'Mysql', 'Cassandra', 'Farming'],
|
||||||
DOB: new Date("1957-04-28"),
|
DOB: new Date("1957-04-28"),
|
||||||
Email: "himanshu.p@infosys.com",
|
Email: "himanshu.p@infosys.com",
|
||||||
Contact: 9972410425,
|
contact: 9972410425,
|
||||||
Address: [{PAddr: "NDB, Maharashtra"}, {LAddr: "Camp, Pune"}]
|
address: [{PAddr: "NDB, Maharashtra"}, {LAddr: "Camp, Pune"}]
|
||||||
}
|
}
|
||||||
])
|
])
|
||||||
|
|
@ -51,8 +51,8 @@ db.Employee.insertMany([
|
|||||||
Expertise: ['Docker', 'Linux', 'Networking', 'Politics'],
|
Expertise: ['Docker', 'Linux', 'Networking', 'Politics'],
|
||||||
DOB: new Date("1998-03-12"),
|
DOB: new Date("1998-03-12"),
|
||||||
Email: "ayush.k@tcs.com",
|
Email: "ayush.k@tcs.com",
|
||||||
Contact: 9972410427,
|
contact: 9972410427,
|
||||||
Address: [{PAddr: "Kokan, Maharashtra"}, {LAddr: "Lohegaon, Pune"}]
|
address: [{PAddr: "Kokan, Maharashtra"}, {LAddr: "Lohegaon, Pune"}]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Name: {FName: "Mehul", LName: "Patil"},
|
Name: {FName: "Mehul", LName: "Patil"},
|
||||||
@ -63,8 +63,8 @@ db.Employee.insertMany([
|
|||||||
Expertise: ['HTML', 'CSS', 'Javascript', 'Teaching'],
|
Expertise: ['HTML', 'CSS', 'Javascript', 'Teaching'],
|
||||||
DOB: new Date("1964-06-22"),
|
DOB: new Date("1964-06-22"),
|
||||||
Email: "mehul.p@mepa.com",
|
Email: "mehul.p@mepa.com",
|
||||||
Contact: 9972410426,
|
contact: 9972410426,
|
||||||
Address: [{PAddr: "NDB, Maharashtra"}, {LAddr: "Camp, Pune"}]
|
address: [{PAddr: "NDB, Maharashtra"}, {LAddr: "Camp, Pune"}]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Name: {FName: "Himanshu", LName: "Patil"},
|
Name: {FName: "Himanshu", LName: "Patil"},
|
||||||
@ -75,8 +75,8 @@ db.Employee.insertMany([
|
|||||||
Expertise: ['Mongodb', 'Mysql', 'Cassandra', 'Farming'],
|
Expertise: ['Mongodb', 'Mysql', 'Cassandra', 'Farming'],
|
||||||
DOB: new Date("1957-04-28"),
|
DOB: new Date("1957-04-28"),
|
||||||
Email: "himanshu.p@infosys.com",
|
Email: "himanshu.p@infosys.com",
|
||||||
Contact: 9972410425,
|
contact: 9972410425,
|
||||||
Address: [{PAddr: "NDB, Maharashtra"}, {LAddr: "Camp, Pune"}]
|
address: [{PAddr: "NDB, Maharashtra"}, {LAddr: "Camp, Pune"}]
|
||||||
}
|
}
|
||||||
])
|
])
|
||||||
|
|
@ -1,158 +0,0 @@
|
|||||||
# M2 - Crud Operations
|
|
||||||
|
|
||||||
**Problem Statement:**
|
|
||||||
Design and Develop MongoDB Queries using CRUD operations:
|
|
||||||
Create Employee collection by considering following Fields:
|
|
||||||
i. Emp_id : Number
|
|
||||||
ii. Name: Embedded Doc (FName, LName)
|
|
||||||
iii. Company Name: String
|
|
||||||
iv. Salary: Number
|
|
||||||
v. Designation: String
|
|
||||||
vi. Age: Number
|
|
||||||
vii. Expertise: Array
|
|
||||||
viii. DOB: String or Date
|
|
||||||
ix. Email id: String
|
|
||||||
x. Contact: String
|
|
||||||
xi. Address: Array of Embedded Doc (PAddr, LAddr)
|
|
||||||
Insert at least 5 documents in collection by considering above
|
|
||||||
attribute and execute following queries:
|
|
||||||
1. Creates a new document if no document in the employee collection
|
|
||||||
contains
|
|
||||||
{Designation: "Tester", Company_name: "TCS", Age: 25}
|
|
||||||
2. Finds all employees working with Company_name: "TCS" and
|
|
||||||
increase their salary by 2000.
|
|
||||||
3. Matches all documents where the value of the field Address is an
|
|
||||||
embedded document that contains only the field city with the
|
|
||||||
value "Pune" and the field Pin_code with the value "411001".
|
|
||||||
4. Find employee details who are working as "Developer" or
|
|
||||||
"Tester".
|
|
||||||
5. Drop Single documents where designation="Developer".
|
|
||||||
6. Count number of documents in employee collection.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Creating database & collection:
|
|
||||||
|
|
||||||
```json
|
|
||||||
use empDB
|
|
||||||
db.createCollection("Employee")
|
|
||||||
|
|
||||||
```
|
|
||||||
|
|
||||||
## Inserting data:
|
|
||||||
|
|
||||||
```json
|
|
||||||
db.Employee.insertMany([
|
|
||||||
{
|
|
||||||
Name: {FName: "Ayush", LName: "Kalaskar"},
|
|
||||||
Company: "TCS",
|
|
||||||
Salary: 45000,
|
|
||||||
Designation: "Programmer",
|
|
||||||
Age: 24,
|
|
||||||
Expertise: ['Docker', 'Linux', 'Networking', 'Politics'],
|
|
||||||
DOB: new Date("1998-03-12"),
|
|
||||||
Email: "ayush.k@tcs.com",
|
|
||||||
Contact: 9972410427,
|
|
||||||
Address: [{PAddr: "Kokan, Maharashtra"}, {LAddr: "Lohegaon, Pune", Pin_code: 411014}]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
Name: {FName: "Mehul", LName: "Patil"},
|
|
||||||
Company: "MEPA",
|
|
||||||
Salary: 55000,
|
|
||||||
Designation: "Tester",
|
|
||||||
Age: 20,
|
|
||||||
Expertise: ['HTML', 'CSS', 'Javascript', 'Teaching'],
|
|
||||||
DOB: new Date("1964-06-22"),
|
|
||||||
Email: "mehul.p@mepa.com",
|
|
||||||
Contact: 9972410426,
|
|
||||||
Address: [{PAddr: "NDB, Maharashtra"}, {LAddr: "Camp, Pune", Pin_code: 411001}]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
Name: {FName: "Himanshu", LName: "Patil"},
|
|
||||||
Company: "Infosys",
|
|
||||||
Salary: 85000,
|
|
||||||
Designation: "Developer",
|
|
||||||
Age: 67,
|
|
||||||
Expertise: ['Mongodb', 'Mysql', 'Cassandra', 'Farming'],
|
|
||||||
DOB: new Date("1957-04-28"),
|
|
||||||
Email: "himanshu.p@infosys.com",
|
|
||||||
Contact: 9972410425,
|
|
||||||
Address: [{PAddr: "NDB, Maharashtra"}, {LAddr: "Camp, Pune", Pin_code: 411001}]
|
|
||||||
}
|
|
||||||
])
|
|
||||||
|
|
||||||
```
|
|
||||||
|
|
||||||
## Queries
|
|
||||||
|
|
||||||
1. Creates a new document if no document in the employee collection contains `{Designation: "Tester", Company_name: "TCS", Age: 25}`
|
|
||||||
```json
|
|
||||||
db.Employee.updateOne(
|
|
||||||
{Designation: "Tester", Company: "TCS", Age: 25},
|
|
||||||
{ $setOnInsert: {
|
|
||||||
Name: {FName: "Karan", LName: "Salvi"},
|
|
||||||
Salary: 67500,
|
|
||||||
Expertise: ['Blockchain', 'C++', 'Python', 'Fishing'],
|
|
||||||
DOB: new Date("1999-11-01"),
|
|
||||||
Email: "karan.s@tcs.com",
|
|
||||||
Contact: 9972410424,
|
|
||||||
Address: [{PAddr: "Kolhapur, Maharashtra"}, {LAddr: "Viman Nagar, Pune", Pin_code: 411014}]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{ upsert: true }
|
|
||||||
)
|
|
||||||
|
|
||||||
```
|
|
||||||
|
|
||||||
2. Finds all employees working with Company_name: "TCS" and increase their salary by 2000.
|
|
||||||
```json
|
|
||||||
db.Employee.updateMany(
|
|
||||||
{ Company: "TCS" },
|
|
||||||
{ $inc: { Salary: 2000 } }
|
|
||||||
)
|
|
||||||
|
|
||||||
```
|
|
||||||
|
|
||||||
3. Matches all documents where the value of the field Address is an embedded document that contains only the field city with the value "Pune" and the field Pin_code with the value "411001".
|
|
||||||
```json
|
|
||||||
db.Employee.find(
|
|
||||||
{ $or: [
|
|
||||||
{
|
|
||||||
"Address.Pin_code": 411001,
|
|
||||||
"Address.LAddr": { $regex: /Pune/i }
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Address.Pin_code": 411001,
|
|
||||||
"Address.PAddr": { $regex: /Pune/i }
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
```
|
|
||||||
|
|
||||||
4. Find employee details who are working as "Developer" or "Tester".
|
|
||||||
```json
|
|
||||||
db.Employee.find(
|
|
||||||
{ $or: [
|
|
||||||
{ Designation: "Developer" },
|
|
||||||
{ Designation: "Tester" }
|
|
||||||
]
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
```
|
|
||||||
|
|
||||||
5. Drop Single documents where Designation="Developer"
|
|
||||||
```json
|
|
||||||
db.Employee.deleteMany( { Designation: "Developer" } )
|
|
||||||
|
|
||||||
```
|
|
||||||
|
|
||||||
6. Count number of documents in employee collection.
|
|
||||||
```json
|
|
||||||
db.Employee.countDocuments();
|
|
||||||
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
Loading…
Reference in New Issue
Block a user