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

Gunakan hasil dari kueri sebelumnya di kueri lain di mongodb

Anda dapat menggunakan agregasi dengan $match untuk mencocokkan kondisi Anda dan $lookup untuk memetakan user bidang lokal Anda ke user . Anda koleksi _id bidang :

db.a.aggregate(
    [{
        $match: {
            "type": ObjectId("50ed90f5a70defef23000002"),
            "config.name": "alpha"
        }
    }, {
        $lookup: {
            from: "users",
            localField: "user",
            foreignField: "_id",
            as: "users"
        }
    }, {
        $unwind: "$users"
    }]);

Dalam Javascript, dengan mongoose misalnya Anda dapat melakukan ini dengan :

YourModel.aggregate(
    [{
        $match: {
            "type": ObjectId("50ed90f5a70defef23000002"),
            "config.name": "alpha"
        }
    }, {
        $lookup: {
            from: "users",
            localField: "user",
            foreignField: "_id",
            as: "users"
        }
    }, {
        $unwind: "$users"
    }],
    function(err, result) {
        console.log("lastname : " + result.users.lastname);
    });


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. luwak mengisi referensi ke subdokumen

  2. Bagaimana saya bisa menyimpan waktu dalam sehari di MongoDB? Sebagai tali? Berikan tahun/bulan/hari sewenang-wenang?

  3. mongodb:akankah limit() meningkatkan kecepatan kueri?

  4. Mongo Atlas:Otentikasi koneksi gagal dengan database khusus

  5. Bisakah bidang yang sama digunakan di $sert, $unset of update(aggregate)