MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

2 संग्रह के साथ मोंगोडब एकत्रीकरण

आपके सिस्टम की ज़रूरतों के आधार पर, मुझे लगता है कि केवल एक संग्रह बनाकर मॉडल डिज़ाइन को सरल बनाया जा सकता है जो collection1 में सभी विशेषताओं को मिला देता है। और collection2 . उदाहरण के तौर पर:

var mongoose = require('mongoose');
var Schema = mongoose.Schema;

var accountSchema = new Schema({
    moneyPaid:{
        type: Number
    },
    isBook: {
       type: Boolean,
    }
}, {collection: 'account'});

var Account = mongoose.model('Account', accountSchema);

जिसमें आप फिर एकत्रीकरण पाइपलाइन चला सकते हैं

var pipeline = [
    { 
        "$match": { "isBook" : true }
    },
    { 
        "$group": {
            "_id": null,
            "total": { "$sum": "$moneyPaid"}
        }
    }
];

Account.aggregate(pipeline, function(err, results) {
    if (err) throw err;
    console.log(JSON.stringify(results, undefined, 4));
});

हालांकि, वर्तमान स्कीमा डिज़ाइन के साथ आपको पहले संग्रह1 के लिए आईडी प्राप्त करनी होगी जिसका collection2 में isBook सही मान है और फिर उस आईडी सूची का उपयोग $match . के रूप में करें collection1 . में क्वेरी मॉडल एकत्रीकरण, निम्न जैसा कुछ:

collection2Model.find({"isBook": true}).lean().exec(function (err, objs){
    var ids = objs.map(function (o) { return o.coll_id; }),
        pipeline = [
            { 
                "$match": { "_id" : { "$in": ids } }
            },
            { 
                "$group": {
                    "_id": null,
                    "total": { "$sum": "$moneyPaid"}
                }
            }
        ];

    collection1Model.aggregate(pipeline, function(err, results) {
        if (err) throw err;
        console.log(JSON.stringify(results, undefined, 4));
    });
});



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Matplotlib का उपयोग करके Mongodb डेटा सांख्यिकी विज़ुअलाइज़ेशन

  2. उप-वस्तु MongoDb और Node.js . के लिए कुछ फ़ील्ड वाले दस्तावेज़ खोजें

  3. लुकअप लोकलफिल्ड में _id ऑब्जेक्ट का उपयोग करके मोंगोडब क्वेरी

  4. उप-दस्तावेज़ में सरणी की किसी भी स्थिति में तत्व को पुश करें

  5. त्रुटि:बाल प्रक्रिया विफल, त्रुटि संख्या 51 MongoDB के साथ बाहर निकल गई