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

Kembalikan hanya nilai array dalam proyeksi mongo

JSON tidak mengizinkan toplevel menjadi array sehingga kueri normal tidak mengizinkan ini. Namun Anda dapat melakukannya dengan kerangka kerja agregasi:

> db.test.remove();
> db.test.insert({ name: "Andrew", attributes: [ { title: "Happy"}, { title: "Sad" } ] });
> foo = db.test.aggregate( { $match: { name: "Andrew" } }, { $unwind: "$attributes" }, { $project: { _id: 0, title: "$attributes.title" } } );
{
    "result" : [
        {
            "title" : "Happy"
        },
        {
            "title" : "Sad"
        }
    ],
    "ok" : 1
}
> foo.result
[ { "title" : "Happy" }, { "title" : "Sad" } ]

Namun, ini tidak membuat objek kursor seperti find.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mengapa saya mendapatkan pymongo.cursor.Cursor ketika mencoba menanyakan db mongodb saya melalui pymongo?

  2. Hubungan indeks/RAM MongoDB

  3. MongoDB $isArray

  4. Performa MongoDB dengan struktur data yang berkembang

  5. MongoDB:Desain skema yang efisien dengan dokumen yang disematkan