-
Notifications
You must be signed in to change notification settings - Fork 1
/
cmd0.js
56 lines (39 loc) · 1.39 KB
/
cmd0.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
let cursor = db.personas
.find(
{edad: {$gt: 50}}, // filtro
{ nombre: 1, edad: 1, _id: 0} // proyección => 1 sale | 0, no sale
)
.sort({edad: -1}) // Ordenamiento 1 -> ascendente, -1 -> descendente
.skip(3)
.limit(3)
.noCursorTimeout() // Le motor de DB que no agote el cursor. Le quito la limitación por defecto de 10 minutos
//cursor.forEach(function(d) { print(d) })
/* ------------ USO DEL MÉTODO HASNEXT Y NEXT ------------ */
/*
while(cursor.hasNext()) {
prin t(cursor.next())
} */
/* while(cursor.hasNext()) {
print(cursor.next().nombre)
} */
/* while(cursor.hasNext()) {
printjson(cursor.next())
} */
/* ------------ USO DEL MÉTODO TOARRAY ------------ */
let documentArray = cursor.toArray()
let document1 = documentArray[1]
// let document1 = cursor[1] # NO FUNCIONA EN VERSIONES ACTUALES
print(document1)
let document2 = documentArray[2]
// let document2 = cursor[2] # NO FUNCIONA EN VERSIONES ACTUALES
print(document2)
/* ----------- BATCHES (métodos: batchSize, objsLeftInBatch ) ------------ */
console.log('/* ----------- BATCHES (métodos: batchSize, objsLeftInBatch ) ------------ */')
cursor = db.autos.find({}, {marca: 1}).noCursorTimeout()
cursor.batchSize(50) // default 101
print(cursor.count())
print(cursor.size())
while(cursor.hasNext()) {
print(cursor.next())
print(cursor.objsLeftInBatch())
}