2016-06-09 22 views
1

Ich möchte eine Liste von EAN aus meiner MongoDB-Datenbank extrahieren. Mit "find()" bekomme ich separate Dokumente. Ich möchte eine Liste von EAN in einer einzigartigen Ansicht des Dokuments oder höchstens in einem Array erhalten. Ich weiß, dass ich die Daten in PHP lesen und verarbeiten konnte. Aber seit ich MongoDB und "MongoDB Driver" für PHP verwende, würde ich gerne verstehen, wie man Daten direkt aus der Datenbank mit Befehlen extrahiert.Finden Sie auf MongoDb, Multi-Dokument-Werte in einem Dokument

Mein DB:

{ 
    "_id" : "ID0001", 
    "ean" : [ 
     "4960999612638", 
     "4960999150437", 
     "0050332160514" 
    ] 
} 
{ 
    "_id" : "ID0002", 
    "ean" : [ 
     "4960999213743" 
    ] 
} 
{ 
    "_id" : "ID0003", 
    "ean" : [ 
     "0050332143265", 
     "0050332143258" 
    ] 
} 
{ 
    "_id" : "ID0004", 
    "ean" : [ 
     "0050332160514" 
    ] 
} 

Was ich möchte (oder ähnliches) erhalten:

{ 
    "ean" : [ 
     "4960999612638" 
     "4960999150437" 
     "0050332160514" 
     "4960999213743" 
     "0050332143265" 
     "0050332143258" 
    ] 
} 

Ich würde auch doppelte ean durch die Ergebnisse löschen, aber das ist eine andere Geschichte ...

Ich kann das mit Mongodb tun?

Dank an alle die wollen mir helfen!

Antwort

0

Ich würde vorschlagen, unterschiedliche Funktion. Ich bin nicht sehr vertraut mit PHP, aber ich denke, der Code würde so aussehen:

$collection->distinct("ean"); 
+0

Perfekt! Es ist genau das, was ich brauchte! db.getCollection ('Produkte'). Distinct ("ean") Vielen Dank! –

Verwandte Themen