En primer lugar, los datos de aumento
1, insertar datos inserto
> db.c5.insert({name:"user1"});
WriteResult({ "nInserted" : 1 })
> db.c5.insert({name:"user2"});
WriteResult({ "nInserted" : 1 })
> db.c5.insert({name:"user3"});
WriteResult({ "nInserted" : 1 })
> db.c5.insert({name:"user4"});
WriteResult({ "nInserted" : 1 })
> db.c5.insert({name:"user5"});
WriteResult({ "nInserted" : 1 })
> db.c5.find();
{ "_id" : ObjectId("5d5e7b310bccde4320cfbfaf"), "name" : "user1" }
{ "_id" : ObjectId("5d5e7b390bccde4320cfbfb0"), "name" : "user2" }
{ "_id" : ObjectId("5d5e7b3d0bccde4320cfbfb1"), "name" : "user3" }
{ "_id" : ObjectId("5d5e7b430bccde4320cfbfb2"), "name" : "user4" }
{ "_id" : ObjectId("5d5e7b4a0bccde4320cfbfb3"), "name" : "user5" }
> db.c5.insert({name:"zhangsan", sex:"male", weight:"160"});
WriteResult({ "nInserted" : 1 })
> db.c5.find();
{ "_id" : ObjectId("5d5e7b310bccde4320cfbfaf"), "name" : "user1" }
{ "_id" : ObjectId("5d5e7b390bccde4320cfbfb0"), "name" : "user2" }
{ "_id" : ObjectId("5d5e7b3d0bccde4320cfbfb1"), "name" : "user3" }
{ "_id" : ObjectId("5d5e7b430bccde4320cfbfb2"), "name" : "user4" }
{ "_id" : ObjectId("5d5e7b4a0bccde4320cfbfb3"), "name" : "user5" }
{ "_id" : ObjectId("5d5e7c720bccde4320cfbfb4"), "name" : "zhangsan", "sex" : "male", "weight" : "160" }
Inserte también inserciones JSON
> db.c5.insert({name:"Yixiantian", post:{title:"kungfu", desc:"BaChiQuan"}});
WriteResult({ "nInserted" : 1 })
> db.c5.find();
{ "_id" : ObjectId("5d5e7b310bccde4320cfbfaf"), "name" : "user1" }
{ "_id" : ObjectId("5d5e7b390bccde4320cfbfb0"), "name" : "user2" }
{ "_id" : ObjectId("5d5e7b3d0bccde4320cfbfb1"), "name" : "user3" }
{ "_id" : ObjectId("5d5e7b430bccde4320cfbfb2"), "name" : "user4" }
{ "_id" : ObjectId("5d5e7b4a0bccde4320cfbfb3"), "name" : "user5" }
{ "_id" : ObjectId("5d5e7c720bccde4320cfbfb4"), "name" : "zhangsan", "sex" : "male", "weight" : "160" }
{ "_id" : ObjectId("5d5e7ce60bccde4320cfbfb5"), "name" : "user6" }
{ "_id" : ObjectId("5d5e7d0a0bccde4320cfbfb6"), "name" : "user6" }
{ "_id" : 5, "name" : "user55" }
{ "_id" : ObjectId("5d5f62cf8ee97b67104bcc89"), "name" : "Yixiantian", "post" : { "title" : "kungfu", "desc" : "BaChiQuan" } }
Insertar También puede insertar una matriz
> db.c5.insert({name:"YeWen", student:["Bruce Lee", "liang", "many"]});
WriteResult({ "nInserted" : 1 })
> db.c5.find();
{ "_id" : ObjectId("5d5e7b310bccde4320cfbfaf"), "name" : "user1" }
{ "_id" : ObjectId("5d5e7b390bccde4320cfbfb0"), "name" : "user2" }
{ "_id" : ObjectId("5d5e7b3d0bccde4320cfbfb1"), "name" : "user3" }
{ "_id" : ObjectId("5d5e7b430bccde4320cfbfb2"), "name" : "user4" }
{ "_id" : ObjectId("5d5e7b4a0bccde4320cfbfb3"), "name" : "user5" }
{ "_id" : ObjectId("5d5e7c720bccde4320cfbfb4"), "name" : "zhangsan", "sex" : "male", "weight" : "160" }
{ "_id" : ObjectId("5d5e7ce60bccde4320cfbfb5"), "name" : "user6" }
{ "_id" : ObjectId("5d5e7d0a0bccde4320cfbfb6"), "name" : "user6" }
{ "_id" : 5, "name" : "user55" }
{ "_id" : ObjectId("5d5f62cf8ee97b67104bcc89"), "name" : "Yixiantian", "post" : { "title" : "kungfu", "desc" : "BaChiQuan" } }
{ "_id" : ObjectId("5d5f64408ee97b67104bcc8a"), "name" : "YeWen", "student" : [ "Bruce Lee", "liang", "many" ] }
Recomendación: No inserte los datos jerárquicos demasiado complejas, de lo contrario, cuando PHP para procesar los datos, y va a ser muy molesto! 2, o guardar datos insertado
> db.c5.save({name:"user6"});
WriteResult({ "nInserted" : 1 })
> db.c5.find();
{ "_id" : ObjectId("5d5e7b310bccde4320cfbfaf"), "name" : "user1" }
{ "_id" : ObjectId("5d5e7b390bccde4320cfbfb0"), "name" : "user2" }
{ "_id" : ObjectId("5d5e7b3d0bccde4320cfbfb1"), "name" : "user3" }
{ "_id" : ObjectId("5d5e7b430bccde4320cfbfb2"), "name" : "user4" }
{ "_id" : ObjectId("5d5e7b4a0bccde4320cfbfb3"), "name" : "user5" }
{ "_id" : ObjectId("5d5e7c720bccde4320cfbfb4"), "name" : "zhangsan", "sex" : "male", "weight" : "160" }
{ "_id" : ObjectId("5d5e7ce60bccde4320cfbfb5"), "name" : "user6" }
Si insertamos "user6" ¿Qué ocurre?
> db.c5.save({name:"user6"});
WriteResult({ "nInserted" : 1 })
> db.c5.find();
{ "_id" : ObjectId("5d5e7b310bccde4320cfbfaf"), "name" : "user1" }
{ "_id" : ObjectId("5d5e7b390bccde4320cfbfb0"), "name" : "user2" }
{ "_id" : ObjectId("5d5e7b3d0bccde4320cfbfb1"), "name" : "user3" }
{ "_id" : ObjectId("5d5e7b430bccde4320cfbfb2"), "name" : "user4" }
{ "_id" : ObjectId("5d5e7b4a0bccde4320cfbfb3"), "name" : "user5" }
{ "_id" : ObjectId("5d5e7c720bccde4320cfbfb4"), "name" : "zhangsan", "sex" : "male", "weight" : "160" }
{ "_id" : ObjectId("5d5e7ce60bccde4320cfbfb5"), "name" : "user6" }
{ "_id" : ObjectId("5d5e7ce60bccde4320cfbfb6"), "name" : "user6" }
Encontramos más de un dato, que "user6" ya tiene, ¿cómo se puede insertar "user6"? Esto es porque estos dos "user6" diferente del ID, ID simplemente diferente, entonces no son los mismos datos.
Insertar un dato en un identificador de encargo!
> db.c5.save({_id:5, name:"user55"});
WriteResult({ "nMatched" : 0, "nUpserted" : 1, "nModified" : 0, "_id" : 5 })
> db.c5.find();
{ "_id" : ObjectId("5d5e7b310bccde4320cfbfaf"), "name" : "user1" }
{ "_id" : ObjectId("5d5e7b390bccde4320cfbfb0"), "name" : "user2" }
{ "_id" : ObjectId("5d5e7b3d0bccde4320cfbfb1"), "name" : "user3" }
{ "_id" : ObjectId("5d5e7b430bccde4320cfbfb2"), "name" : "user4" }
{ "_id" : ObjectId("5d5e7b4a0bccde4320cfbfb3"), "name" : "user5" }
{ "_id" : ObjectId("5d5e7c720bccde4320cfbfb4"), "name" : "zhangsan", "sex" : "male", "weight" : "160" }
{ "_id" : ObjectId("5d5e7ce60bccde4320cfbfb5"), "name" : "user6" }
{ "_id" : ObjectId("5d5e7d0a0bccde4320cfbfb6"), "name" : "user6" }
{ "_id" : 5, "name" : "user55" }
Bueno, entonces que acabamos La sentencia se ejecuta una vez, a ver qué pasa?
> db.c5.save({_id:5, name:"user55"});
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 0 })
> db.c5.find();
{ "_id" : ObjectId("5d5e7b310bccde4320cfbfaf"), "name" : "user1" }
{ "_id" : ObjectId("5d5e7b390bccde4320cfbfb0"), "name" : "user2" }
{ "_id" : ObjectId("5d5e7b3d0bccde4320cfbfb1"), "name" : "user3" }
{ "_id" : ObjectId("5d5e7b430bccde4320cfbfb2"), "name" : "user4" }
{ "_id" : ObjectId("5d5e7b4a0bccde4320cfbfb3"), "name" : "user5" }
{ "_id" : ObjectId("5d5e7c720bccde4320cfbfb4"), "name" : "zhangsan", "sex" : "male", "weight" : "160" }
{ "_id" : ObjectId("5d5e7ce60bccde4320cfbfb5"), "name" : "user6" }
{ "_id" : ObjectId("5d5e7d0a0bccde4320cfbfb6"), "name" : "user6" }
{ "_id" : 5, "name" : "user55" }
Hemos encontrado que, esta vez, no repitió inserción "user55", ¿por qué, pues, ID de si mismo, sino el método va a cambiar sólo los datos sin datos recién insertados!
En segundo lugar, los datos de borrado
3, Eliminar datos eliminado
, por ejemplo, se suprime la c1 colección
> db.c1.find();
{ "_id" : ObjectId("5d47e64862a767ca65d70324"), "name" : "LDR", "age" : "29" }
{ "_id" : ObjectId("5d47e7de62a767ca65d70325"), "name" : "SXL", "age" : "28", "gender" : "female", "home" : "TianShui" }
{ "_id" : ObjectId("5d47ea029db9b635a6868273"), "gender" : "male" }
>
>
> db.c1.remove();
2019-08-23T12:02:28.487+0800 E QUERY [js] Error: remove needs a query :
DBCollection.prototype._parseRemove@src/mongo/shell/collection.js:362:1
DBCollection.prototype.remove@src/mongo/shell/collection.js:389:18
@(shell):1:1
Error, y esta es la razón?
Resultó que los datos de borrado todo el documento cuando la sintaxis es db.c1.drop (), en lugar de db.c1.remove (). remove se utiliza para los datos de borrado condicional.
> db.c2.insert({name:"A"});
WriteResult({ "nInserted" : 1 })
> db.c2.insert({name:"B"});
WriteResult({ "nInserted" : 1 })
> db.c2.insert({name:"C"});
WriteResult({ "nInserted" : 1 })
> db.c2.insert({name:"D"});
WriteResult({ "nInserted" : 1 })
> db.c2.insert({name:"E"});
WriteResult({ "nInserted" : 1 })
> db.c2.find();
{ "_id" : ObjectId("5d64dd96b390e1ab45fa854a"), "name" : "A" }
{ "_id" : ObjectId("5d64dd9bb390e1ab45fa854b"), "name" : "B" }
{ "_id" : ObjectId("5d64dda1b390e1ab45fa854c"), "name" : "C" }
{ "_id" : ObjectId("5d64dda6b390e1ab45fa854d"), "name" : "D" }
{ "_id" : ObjectId("5d64ddabb390e1ab45fa854e"), "name" : "E" }
> db.c2.remove();
2019-08-27T15:37:36.617+0800 E QUERY [js] Error: remove needs a query :
DBCollection.prototype._parseRemove@src/mongo/shell/collection.js:362:1
DBCollection.prototype.remove@src/mongo/shell/collection.js:389:18
@(shell):1:1
> db.c2.drop();
true
> db.c2.find();
condicionalmente suprimido
> db.c2.find();
{ "_id" : ObjectId("5d64de8db390e1ab45fa854f"), "name" : "E" }
{ "_id" : ObjectId("5d64de95b390e1ab45fa8550"), "name" : "D" }
{ "_id" : ObjectId("5d64de9bb390e1ab45fa8551"), "name" : "C" }
{ "_id" : ObjectId("5d64dea3b390e1ab45fa8552"), "name" : "B" }
{ "_id" : ObjectId("5d64dea8b390e1ab45fa8553"), "name" : "A" }
> db.c2.remove({name:"B"});
WriteResult({ "nRemoved" : 1 })
> db.c2.find();
{ "_id" : ObjectId("5d64de8db390e1ab45fa854f"), "name" : "E" }
{ "_id" : ObjectId("5d64de95b390e1ab45fa8550"), "name" : "D" }
{ "_id" : ObjectId("5d64de9bb390e1ab45fa8551"), "name" : "C" }
{ "_id" : ObjectId("5d64dea8b390e1ab45fa8553"), "name" : "A" }
En tercer lugar, encontrar datos
4, encontrar consulta de datos
a, un hallazgo de datos "valor exacto"
> db.c5.find();
{ "_id" : ObjectId("5d5e7b310bccde4320cfbfaf"), "name" : "user1" }
{ "_id" : ObjectId("5d5e7b390bccde4320cfbfb0"), "name" : "user2" }
{ "_id" : ObjectId("5d5e7b3d0bccde4320cfbfb1"), "name" : "user3" }
{ "_id" : ObjectId("5d5e7b430bccde4320cfbfb2"), "name" : "user4" }
{ "_id" : ObjectId("5d5e7b4a0bccde4320cfbfb3"), "name" : "user5" }
{ "_id" : ObjectId("5d5e7c720bccde4320cfbfb4"), "name" : "zhangsan", "sex" : "male", "weight" : "160" }
{ "_id" : ObjectId("5d5e7ce60bccde4320cfbfb5"), "name" : "user6" }
{ "_id" : ObjectId("5d5e7d0a0bccde4320cfbfb6"), "name" : "user6" }
{ "_id" : 5, "name" : "user55" }
{ "_id" : ObjectId("5d5f62cf8ee97b67104bcc89"), "name" : "Yixiantian", "post" : { "title" : "kungfu", "desc" : "BaChiQuan" } }
{ "_id" : ObjectId("5d5f64408ee97b67104bcc8a"), "name" : "YeWen", "student" : [ "Bruce Lee", "liang", "many" ] }
>
>
> db.c5.find({name:"user5"});
{ "_id" : ObjectId("5d5e7b4a0bccde4320cfbfb3"), "name" : "user5" }
>
B, dependiendo de las condiciones de los datos de la consulta una columna
> db.c5.find({weight:"160"}, {name:1,sex:1});
{ "_id" : ObjectId("5d5e7c720bccde4320cfbfb4"), "name" : "zhangsan", "sex" : "male" }
Nota: [nombre: 1] donde 1 representa cierto. Y especifico el campo de la pantalla, y no especificó _id, sin embargo, todavía era mi columna, esto es la característica mongo.
Si no quiero _id, cómo hacer frente a?
> db.c5.find({name:"Yixiantian"},{post:1, _id:0});
{ "post" : { "title" : "kungfu", "desc" : "BaChiQuan" } }
Por lo tanto, cuando no quieren _id campo, pasando por 0, para ocultar su pantalla.
c, la expresión condicional
mayor inserto un fragmento de datos:
> for(i=1;i<15;i++){
... db.c3.insert({name:"user"+i, age:i});
... }
WriteResult({ "nInserted" : 1 })
> db.c3.find();
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8554"), "name" : "user1", "age" : 1 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8555"), "name" : "user2", "age" : 2 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8556"), "name" : "user3", "age" : 3 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8557"), "name" : "user4", "age" : 4 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8558"), "name" : "user5", "age" : 5 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8559"), "name" : "user6", "age" : 6 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa855a"), "name" : "user7", "age" : 7 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa855b"), "name" : "user8", "age" : 8 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa855c"), "name" : "user9", "age" : 9 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa855d"), "name" : "user10", "age" : 10 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa855e"), "name" : "user11", "age" : 11 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa855f"), "name" : "user12", "age" : 12 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8560"), "name" : "user13", "age" : 13 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8561"), "name" : "user14", "age" : 14 }
Realiza consultas mayores de 5 dólares de datos gt
> db.c3.find({age:{$gt:5}});
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8559"), "name" : "user6", "age" : 6 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa855a"), "name" : "user7", "age" : 7 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa855b"), "name" : "user8", "age" : 8 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa855c"), "name" : "user9", "age" : 9 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa855d"), "name" : "user10", "age" : 10 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa855e"), "name" : "user11", "age" : 11 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa855f"), "name" : "user12", "age" : 12 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8560"), "name" : "user13", "age" : 13 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8561"), "name" : "user14", "age" : 14 }
Consulta de datos más pequeños que los $ 5 lt
> db.c3.find({age:{$lt:5}});
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8554"), "name" : "user1", "age" : 1 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8555"), "name" : "user2", "age" : 2 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8556"), "name" : "user3", "age" : 3 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8557"), "name" : "user4", "age" : 4 }
Consultas mayores de los datos es igual a $ 5 gte
> db.c3.find({age:{$gte:5}});
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8558"), "name" : "user5", "age" : 5 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8559"), "name" : "user6", "age" : 6 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa855a"), "name" : "user7", "age" : 7 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa855b"), "name" : "user8", "age" : 8 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa855c"), "name" : "user9", "age" : 9 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa855d"), "name" : "user10", "age" : 10 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa855e"), "name" : "user11", "age" : 11 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa855f"), "name" : "user12", "age" : 12 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8560"), "name" : "user13", "age" : 13 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8561"), "name" : "user14", "age" : 14 }
Las consultas más jóvenes que Igual a los datos de LTE $ 5
> db.c3.find({age:{$lte:5}});
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8554"), "name" : "user1", "age" : 1 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8555"), "name" : "user2", "age" : 2 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8556"), "name" : "user3", "age" : 3 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8557"), "name" : "user4", "age" : 4 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8558"), "name" : "user5", "age" : 5 }
5, count () el número total de colección estadística
> db.c3.count();
14
> db.c3.find().count();
14
6, sort () de datos de clasificación (-1, Descendente; 1, ascendente)
- ascendente
> db.c3.find().sort({age:1});
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8554"), "name" : "user1", "age" : 1 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8555"), "name" : "user2", "age" : 2 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8556"), "name" : "user3", "age" : 3 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8557"), "name" : "user4", "age" : 4 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8558"), "name" : "user5", "age" : 5 }
- descendente
> db.c3.find().sort({age:-1});
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8558"), "name" : "user5", "age" : 5 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8557"), "name" : "user4", "age" : 4 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8556"), "name" : "user3", "age" : 3 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8555"), "name" : "user2", "age" : 2 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8554"), "name" : "user1", "age" : 1 }
7, limit () SKIP () consulta de paginación
> db.c3.find().limit(5);
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8554"), "name" : "user1", "age" : 1 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8555"), "name" : "user2", "age" : 2 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8556"), "name" : "user3", "age" : 3 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8557"), "name" : "user4", "age" : 4 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8558"), "name" : "user5", "age" : 5 }
> db.c3.find().skip(1).limit(5);
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8555"), "name" : "user2", "age" : 2 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8556"), "name" : "user3", "age" : 3 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8557"), "name" : "user4", "age" : 4 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8558"), "name" : "user5", "age" : 5 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8559"), "name" : "user6", "age" : 6 }
> db.c3.find().skip(3).limit(6);
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8557"), "name" : "user4", "age" : 4 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8558"), "name" : "user5", "age" : 5 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8559"), "name" : "user6", "age" : 6 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa855a"), "name" : "user7", "age" : 7 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa855b"), "name" : "user8", "age" : 8 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa855c"), "name" : "user9", "age" : 9 }
Saltar 5, 6 que adopte, en orden descendente (ordenados primera toma)
> db.c3.find().skip(5).limit(5).sort({age:-1});
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa855c"), "name" : "user9", "age" : 9 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa855b"), "name" : "user8", "age" : 8 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa855a"), "name" : "user7", "age" : 7 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8559"), "name" : "user6", "age" : 6 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8558"), "name" : "user5", "age" : 5 }
>
En orden descendente, saltando cinco, seis tomada (tomada después de la primera clase)
> db.c3.find().sort({age:-1}).skip(9).limit(5);
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8558"), "name" : "user5", "age" : 5 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8557"), "name" : "user4", "age" : 4 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8556"), "name" : "user3", "age" : 3 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8555"), "name" : "user2", "age" : 2 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8554"), "name" : "user1", "age" : 1 }
Estadísticas cuentan con condiciones () (0, ignoran condición; 1, condicional)
> db.c3.find().sort({age:-1}).skip(2).limit(2).count(0);
14
mal estadística aquí! Por eso, el estado cuenta es 0, significa ignorar el medio, sólo la recopilación de estadísticas. Así, donde los argumentos tienen que pasar 1, el trabajo:
> db.c3.find().sort({age:-1}).skip(2).limit(2).count(1);
2
8, $ todo incluido
{ "_id" : ObjectId("5d64ec94350ff605d7b5549b"), "name" : "superMan", "post" : [ 1, 3, 5, 7, 9 ] }
> db.c3.find({post:{$all:[1,3,4]}});
> db.c3.find({post:{$all:[1,3,5,7]}});
{ "_id" : ObjectId("5d64ec94350ff605d7b5549b"), "name" : "superMan", "post" : [ 1, 3, 5, 7, 9 ] }
> db.c3.find({post:{$all:[1,3,5,9]}});
{ "_id" : ObjectId("5d64ec94350ff605d7b5549b"), "name" : "superMan", "post" : [ 1, 3, 5, 7, 9 ] }
> db.c3.find({post:{$all:[1,3,5,7,9]}});
{ "_id" : ObjectId("5d64ec94350ff605d7b5549b"), "name" : "superMan", "post" : [ 1, 3, 5, 7, 9 ] }
9, $ existe para comprobar si hay un campo
- Dato 1 hay un campo
> db.c5.find();
{ "_id" : ObjectId("5d5e7b310bccde4320cfbfaf"), "name" : "user1" }
{ "_id" : ObjectId("5d5e7b390bccde4320cfbfb0"), "name" : "user2" }
{ "_id" : ObjectId("5d5e7b3d0bccde4320cfbfb1"), "name" : "user3" }
{ "_id" : ObjectId("5d5e7b430bccde4320cfbfb2"), "name" : "user4" }
{ "_id" : ObjectId("5d5e7b4a0bccde4320cfbfb3"), "name" : "user5" }
{ "_id" : ObjectId("5d5e7c720bccde4320cfbfb4"), "name" : "zhangsan", "sex" : "male", "weight" : "160" }
{ "_id" : ObjectId("5d5e7ce60bccde4320cfbfb5"), "name" : "user6" }
{ "_id" : ObjectId("5d5e7d0a0bccde4320cfbfb6"), "name" : "user6" }
{ "_id" : 5, "name" : "user55" }
{ "_id" : ObjectId("5d5f62cf8ee97b67104bcc89"), "name" : "Yixiantian", "post" : { "title" : "kungfu", "desc" : "BaChiQuan" } }
{ "_id" : ObjectId("5d5f64408ee97b67104bcc8a"), "name" : "YeWen", "student" : [ "Bruce Lee", "liang", "many" ] }
>
>
> db.c5.find({sex:{$exists:1}});
{ "_id" : ObjectId("5d5e7c720bccde4320cfbfb4"), "name" : "zhangsan", "sex" : "male", "weight" : "160" }
- Datos 0 un campo no existe
> db.c5.find({sex:{$exists:0}});
{ "_id" : ObjectId("5d5e7b310bccde4320cfbfaf"), "name" : "user1" }
{ "_id" : ObjectId("5d5e7b390bccde4320cfbfb0"), "name" : "user2" }
{ "_id" : ObjectId("5d5e7b3d0bccde4320cfbfb1"), "name" : "user3" }
{ "_id" : ObjectId("5d5e7b430bccde4320cfbfb2"), "name" : "user4" }
{ "_id" : ObjectId("5d5e7b4a0bccde4320cfbfb3"), "name" : "user5" }
{ "_id" : ObjectId("5d5e7ce60bccde4320cfbfb5"), "name" : "user6" }
{ "_id" : ObjectId("5d5e7d0a0bccde4320cfbfb6"), "name" : "user6" }
{ "_id" : 5, "name" : "user55" }
{ "_id" : ObjectId("5d5f62cf8ee97b67104bcc89"), "name" : "Yixiantian", "post" : { "title" : "kungfu", "desc" : "BaChiQuan" } }
{ "_id" : ObjectId("5d5f64408ee97b67104bcc8a"), "name" : "YeWen", "student" : [ "Bruce Lee", "liang", "many" ] }
>
Nota: No es 0 en lugar de -1, recuerda! ! !
10, $ MOD módulo
-age campo de módulo 2 0 I
> db.c3.find({age:{$mod:[2,0]}});
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8555"), "name" : "user2", "age" : 2 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8557"), "name" : "user4", "age" : 4 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8559"), "name" : "user6", "age" : 6 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa855b"), "name" : "user8", "age" : 8 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa855d"), "name" : "user10", "age" : 10 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa855f"), "name" : "user12", "age" : 12 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8561"), "name" : "user14", "age" : 14 }
I 1 módulo 2 campo -age
> db.c3.find({age:{$mod:[2,1]}});
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8554"), "name" : "user1", "age" : 1 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8556"), "name" : "user3", "age" : 3 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8558"), "name" : "user5", "age" : 5 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa855a"), "name" : "user7", "age" : 7 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa855c"), "name" : "user9", "age" : 9 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa855e"), "name" : "user11", "age" : 11 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8560"), "name" : "user13", "age" : 13 }
11, $ ne no es igual
-age no es igual a 4
>db.c3.find({age:{$ne:4}});
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8554"), "name" : "user1", "age" : 1 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8555"), "name" : "user2", "age" : 2 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8556"), "name" : "user3", "age" : 3 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8558"), "name" : "user5", "age" : 5 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8559"), "name" : "user6", "age" : 6 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa855a"), "name" : "user7", "age" : 7 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa855b"), "name" : "user8", "age" : 8 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa855c"), "name" : "user9", "age" : 9 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa855d"), "name" : "user10", "age" : 10 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa855e"), "name" : "user11", "age" : 11 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa855f"), "name" : "user12", "age" : 12 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8560"), "name" : "user13", "age" : 13 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8561"), "name" : "user14", "age" : 14 }
{ "_id" : ObjectId("5d64ec94350ff605d7b5549b"), "name" : "superMan", "post" : [ 1, 3, 5, 7, 9 ] }
- La edad no es igual a 1 y 14
>db.c3.find({age:{$ne:[1,14]}});
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8554"), "name" : "user1", "age" : 1 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8555"), "name" : "user2", "age" : 2 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8556"), "name" : "user3", "age" : 3 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8558"), "name" : "user5", "age" : 5 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8559"), "name" : "user6", "age" : 6 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa855a"), "name" : "user7", "age" : 7 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa855b"), "name" : "user8", "age" : 8 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa855c"), "name" : "user9", "age" : 9 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa855d"), "name" : "user10", "age" : 10 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa855e"), "name" : "user11", "age" : 11 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa855f"), "name" : "user12", "age" : 12 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8560"), "name" : "user13", "age" : 13 }
{ "_id" : ObjectId("5d64e2e9b390e1ab45fa8561"), "name" : "user14", "age" : 14 }
{ "_id" : ObjectId("5d64ec94350ff605d7b5549b"), "name" : "superMan", "post" : [ 1, 3, 5, 7, 9 ] }
Nota: El texto está mal! Esto no quiere decir que sólo hay un valor, no una matriz!