MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Urutan Mongo berdasarkan panjang array

Saya pikir Anda mungkin dapat menggunakan $size , tetapi itu hanya untuk menemukan larik dengan ukuran tertentu, bukan pengurutan.

Dari dokumentasi mongo:http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-%24size

Anda tidak dapat menggunakan $size untuk menemukan rentang ukuran (misalnya:array dengan lebih dari 1 elemen). Jika Anda perlu membuat kueri untuk rentang, buat bidang ukuran ekstra yang Anda tambahkan saat menambahkan elemen. Indeks tidak dapat digunakan untuk bagian kueri $size, meskipun jika ekspresi kueri lain disertakan, indeks dapat digunakan untuk mencari kecocokan pada bagian ekspresi kueri tersebut.

Sepertinya Anda mungkin dapat dengan mudah melakukan ini dengan kerangka kerja agregasi baru, edit: yang belum keluar.http://www.mongodb.org/display/DOCS/Aggregation+Framework

Perbarui Sekarang Kerangka Agregasi sudah keluar...

> db.test.aggregate([
  {$unwind: "$answers"}, 
  {$group: {_id:"$_id", answers: {$push:"$answers"}, size: {$sum:1}}}, 
  {$sort:{size:1}}]);
{
"result" : [
    {
        "_id" : ObjectId("5053b4547d820880c3469365"),
        "answers" : [
            {
                "content" : "answer1"
            },
            {
                "content" : "2nd answer"
            }
        ],
        "size" : 2
    },
    {
        "_id" : ObjectId("5053b46d7d820880c3469366"),
        "answers" : [
            {
                "content" : "answer1"
            },
            {
                "content" : "2nd answer"
            },
            {
                "content" : "The third answer"
            }
        ],
        "size" : 3
    }
  ],
  "ok" : 1
}


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Apa perbedaan antara findAndModify dan pembaruan di MongoDB?

  2. Perbedaan antara count() dan find().count() di MongoDB

  3. MongoDB $gantiSemua

  4. Objek bersarang dalam skema luwak

  5. MongoDB Mencocokkan array dengan $type?