MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Mongodb:сортиране на документи по масивни обекти

Изглежда mongo може направи това.

Например, ако имам следните документи:

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

И изпълнете следното:

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 } ] } }

Както можете да видите, сортирането по {"a.b.c":1} отнема ним от всички стойности в масива и сортира върху това, докато сортирането по {"a.b.c":-1} взима макс от всички стойности.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. find() и findOne() методи в MongoDB, показващи различни резултати

  2. Уникален индекс не работи с Mongoose / MongoDB

  3. Как намирате по id с помощта на драйвера на MongoDB Node?

  4. Приложение Simple Node/Express, начинът за функционално програмиране (Как да се справя със страничните ефекти в JavaScript?)

  5. Java Mongodb numberlong заявка