2017-03-03 2 views
0

Ich habe eine Sammlung Organisation mit FeldSuche nach Daten in einem Array in einem Dokument in Mongo

users: [ 
    { 
    "user_id":"1", 
    "role":"1" 
    }, 
    { 
    "user_id":"2", 
    "role":"2" 
    }] 

und eine weitere Sammlung Benutzer mit Feldern

{ 
    {"user_id":1}, 
    {"user_id":2}, 
    {"user_id":3}, 
    {"user_id":4} 
} 

Ich brauche alle Benutzer mit Benutzer-ID angezeigt werden vorhanden im Benutzer-Array in der Organisationssammlung. Was ist der beste Weg dies zu implementieren?

+0

Versuchen Sie ['lookup'] (https://docs.mongodb.com/manual/reference/operator/aggregation/lookup/) – Veeram

Antwort

0
db.myDbCollection.find({}, {"user_id": 1}); 

kann diese Anweisung verwenden, um Daten aus Ihrer Sammlung zu finden.

0

Wenn Sie nur die Benutzer-ID der Benutzer in der Organisation anzeigen möchten, müssen Sie Benutzerfeld abwickeln und das Projekt auf Benutzer-ID-Feld wie unten ausführen.

collection.aggregate([{"$unwind","$users"},{"$project":{"user_id":"$users.user_id"}}]) 
Verwandte Themen