-
Notifications
You must be signed in to change notification settings - Fork 0
/
test.js
137 lines (90 loc) · 2.48 KB
/
test.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
const promise=require('bluebird');
//const MongoClient = promise.promisifyAll(require('mongodb').MongoClient);
const MongoClient = require('mongodb').MongoClient;
// Connection URL
const url = 'mongodb://localhost:27017';
// Database Name
const dbName = 'newdb';
// Use connect method to connect to the server
MongoClient.connect(url,{useNewUrlParser: true }, async(err, client)=> {
if(err){
console.log(err);
}else{
console.log("Connected successfully to server");
const db = client.db('newdb');
//to create a collection
db.createCollection("node", {
'validator': { '$and':
[
{ 'phone': { '$type': "string" } },
{ 'email': { '$regex': /@mongodb\.com$/ } },
{ 'status': { '$in': [ "Unknown", "Incomplete" ] } }
]
}
},function(err,data){
if(err){
console.log(err);
}else{
console.log("collection created");
}
})
//to insert data
const datatable=db.collection('data');
/*
datatable.insert([{name:"jeeva",age:"25"},{name:"jeeva",age:"30"},{name:"danesh",age:"25"}],function(err,data){
if(err){
console.log(err);
}else{
console.log(data);
}
})
*/
//to updateone
datatable.updateOne({name:"dane"},{$set:{name:"arn"}},{upsert:true},function(err,data){
if(err){
console.log(err);
}else{
console.log(data.matchedCount);
}
})
//to deleteone
datatable.deleteOne({name:"daneshg"}).then((data)=>console.log("deleted count"+data.deletedCount));
//to get collection
const collection=db.collection('users');
//to get index
collection.createIndex(
{ lastName : -1, dateOfBirth : 1 },
{ unique:true },
function(err, result) {
console.log(result);
});
//to find data in collection
const cursor= datatable.find({}).filter({name:"jeeva"})
while(await cursor.hasNext()) {
const doc = await cursor.next();
// console.log(doc);
}
//bulk operation
const bulk =datatable.initializeOrderedBulkOp();
bulk.find({name:'arun'}).updateOne({name:'jeeva'});
bulk.execute(function(err,data){
if(err){
console.log(err);
}
else{
console.log("bulk data");
}
})
//aggregation
datatable.aggregate([{'$match':{'name':'jeeva'}},{ '$unwind': '$age'},{ '$group': { '_id': "$_id",'name':{'$last':'$name'}, 'total': { '$sum': 1 } } }
],function(err,data){
if(err){
console.log(err);
}else{
data.toArray(function(err, documents) {
console.log(documents)
});
}
})
}
});