2017-06-26 23 views
0

Es gibt eine Datenbank auf mongodb. Es enthält eine Sammlung von products, die beim Importieren aus einer CSV-Datei mit einer eindeutigen _ID erstellt wurde. In Produkten hat jedes Dokument ein Feld articul entsprechend dem Artikel des Herstellers. Es gibt auch ein Feld size, das die Größe des Produkts angibt. Da die Größe eines Produkts unterschiedlich sein kann, werden beim Import Dokumente erstellt, die für den gleichen Artikulum unterschiedliche Größe haben.Anfrage in mongodb mongoose

Wie Sie eine Auswahl aus Produkten treffen und eine andere Sammlung erstellen, in die Werte mit einer eindeutigen articul eingefügt werden, die alle Werte der Größe für jede articul enthalten muss?

Antwort

0

Was Sie suchen, ist aggregation. Sie können die Dokumente auf Artikelnamen und save es in einer anderen Sammlung group

db.products.aggregate(
{$group: {_id: '$articul', sizes: {$addToSet: '$size'}}}, 
{$out: 'articles'} 
) 
0

für existierte Articul neue Größe zu speichern

db.products.update( { "articul": "Banana" }, { $addToSet: { size: 9 } } )

wenn nichts von oben Abfrage abgestimmt Sie neue INSERT-Abfrage erstellen müssen

db.products.insertOne({ "articul": "Apple", "size": [8] });

Verwandte Themen