Ich arbeite an einer E-Commerce-basierten Website mit MongoDb
.Kombinieren Sie 2 separate Ergebnisse mongo db
In meiner db Sammlung Ich habe 2 Arten von Dokumenten
Firmendetails Artikel
{ doc_type : 'company', name : 'Acer', type : 'Laptops', helpline : '1800-200-000' }
ItemDetails
{doc_type : "item", item_id : 1001, price : 2000, discount : 20}
Jetzt in der Produktseite muss ich Daten von beiden Dokumenten erhalten.
so, zuerst laufen i
db.collection.find({doc_type:'item', item_id : 1001 });
Produktdaten zu zeigen, und dann
db.collection.find({doc_type:'company', name: "Acer"});
Unternehmensdaten zu erhalten.
Ist sie eine Möglichkeit, diese 2 Anrufe ein und erhalten Daten in einzelnen Ergebnismengen zu reduzieren.
wie
{
company : { //company data},
item : { //item details }
}
wirkt sich dies auf die Leistung aus, da die Items-Tabelle 3-4 Lakh-Datensätze enthält ... und manchmal mussten Firmendaten mit 50-60k Artikeldatensätzen zusammengeführt werden? –
Nein, dies hat keinen Einfluss auf die Leistung. Da wir die Stufe "$ match" der Pipeline verwenden, werden nur sehr wenige Dokumente auf die nächsten Ebenen übertragen. Falls Sie ein Speicherproblem haben, versuchen Sie '$ allowDiskUse' mit dem Wert true zu verwenden. –