sql >> Databáze >  >> NoSQL >> MongoDB

Mongodb:řazení dokumentů podle objektů pole

Zdá se, že mongo může udělej to.

Pokud mám například následující dokumenty:

{ a:{ b:[ {c:1}, {c:5 } ] } }
{ a:{ b:[ {c:0}, {c:12} ] } }
{ a:{ b:[ {c:4}, {c:3 } ] } }
{ a:{ b:[ {c:1}, {c:9 } ] } }

A spusťte následující:

db.collection.find({}).sort({ "a.b.c":1 });
// produces:
{ a:{ b:[ {c:0}, {c:12} ] } }
{ a:{ b:[ {c:1}, {c:5 } ] } }
{ a:{ b:[ {c:1}, {c:9 } ] } }
{ a:{ b:[ {c:4}, {c:3 } ] } }

db.collection.find({}).sort({ "a.b.c":-1 });
// produces:
{ a:{ b:[ {c:0}, {c:12} ] } }
{ a:{ b:[ {c:1}, {c:9 } ] } }
{ a:{ b:[ {c:1}, {c:5 } ] } }
{ a:{ b:[ {c:4}, {c:3 } ] } }

Jak vidíte, řazení podle {"a.b.c":1} trvá min všech hodnot v poli a seřadí podle toho, zatímco řazení podle {"a.b.c":-1} zabere max všech hodnot.



  1. Redis :Jak nastavit, aby se jeden klíč rovnal hodnotě jiného klíče?

  2. 2řádková aplikace NodeJS se zhroutí na mongoose.connect() při pokusu o připojení k mongolabské databázi MongoDB

  3. Chyba:queryTxt ETIMEOUT při připojování k MongoDb Atlas pomocí mongoose

  4. Najděte prázdné dokumenty v databázi