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

Apakah luwak/mongodb memiliki akses ke referensi objek dalam skema selama agregat?

tidak ada cara untuk mengakses objek Data yang direferensikan selama Proses agregat, pekerjaan yang saya lakukan untuk proyek saya adalah menambahkan referensi ke pemilik dalam skema yang dimaksud.

User = new Schema({
    places:[{type: Schema.Types.ObjectId, ref:'Place'}],
    shouts:[{type: Schema.Types.ObjectId, ref:'Shout'}]
});
Place = new Schema({
    owner:{type: Schema.Types.ObjectId, ref:'Place'},
    name:String,
    description:String,
});
Shout = new Schema({
    owner:{type: Schema.Types.ObjectId, ref:'Place'},
    content:String,
});

Dan kemudian digunakan untuk Agregat langsung pada subdokumen untuk mendapatkan pengguna unik yang memiliki instance tempat, dengan cara ini saya bisa mendapatkan hasil teriakan yang cocok dengan kueri dan tempat.

Contoh:

module.exports.askForShoutInPlace = function(req, res){
var pname = new RegExp(req.params.pname, 'i'); 
var stringQ = new RegExp(req.paramos.qcontent, 'i');
Place.aggregate(
    [
       //find Places that match criteria
       {'$match':{'name':pname}},
       //select owner id object to result
       {'$project':{ owner:'$owner'}},
       //group those results to single array with unique ids of users
       {'$group':{_id:'$owner'}}
    ]).exec(function(err, results){
    //find user shouts that match string and belong to owners know to be owners of a place
    Shout.find({'content':stringQ}).where({'owner':{'$in':results}}).exec(function(err, shouts){
       res.send(shouts);
    });
});

}

ini adalah cara yang saya temukan untuk mengatasi kebutuhan khusus saya, saya harap ini dapat membantu seseorang.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bagaimana cara menggunakan variabel sebagai nama bidang di mongodb-native findAndModify?

  2. Bagaimana cara memuat data di MongoDB yang berjalan di Host dari dalam Docker yang berjalan di mesin yang sama?

  3. Cara menanyakan kunci dinamis - desain skema mongodb

  4. Bagaimana Anda memodelkan hubungan pertemanan di MongoDB?

  5. Ikhtisar MongoDB Atlas:Bagian Satu