MongoDB aprendizaje de [cuatro]: MongoDB operaciones básicas - añadir, borrar, buscar

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!
Publicado 59 artículos originales · ganado elogios 2 · Vistas 5578

Supongo que te gusta

Origin blog.csdn.net/LDR1109/article/details/102612502
Recomendado
Clasificación