2017-05-15 1 views
0

Ich bin ziemlich neu in MongoDB und ich versuche, die Datenbank abzufragen und ein Objekt wie dieses als Antwort zu bekommen.

{ 
    activity: 'Aerial Yoga', 
    participants_12: 10, 
    participants_13_15: 10, 
    participants_16_18: 10, 
    participants_19: 10, 
} 

ich anstelle des vollständigen json ein Bild platzieren will ich kann so erklären, wie die Daten zu erhalten: enter image description here

ich filtern kann, aber ich weiß noch nicht, wie das Objekt zu formatieren die DB kehrt zu mir zurück. Ich verwende diese Abfrage bisher:

db.applications.aggregate([ 
    { $match : {application_number:'SL-O2-2017-05-15-000230', 'sport_activity_list.value.0.properties.sport_activity.value':'Aerial Yoga'}}, 
    { $project : { _id: 0, "sport_activity_list.value":1,} } 
]) 

Wie kann ich das gewünschte Ergebnis erzielen? Sollte ich $ project verwenden? Ich benutze v3.2.8 des mongodb

Antwort

1

Ja, $aggregate wird dies für Sie tun. Im $project Schritt können Sie festlegen, dass die bestehenden Felder sollten mit truthy Werte enthalten oder nicht enthalten sein, aber man kann auch included computed fields, von denen dies ein sehr einfaches Beispiel ist:

db.applications.aggregate([ 
    { $match : {application_number:'SL-O2-2017-05-15-000230', 'sport_activity_list.value.0.properties.sport_activity.value':'Aerial Yoga'}}, 
    { $project : { 
    _id: 0, 
    value: '$sport_activity_list.value.0.properties.sport_activity.value', 
    participants_12: '$sport_activity_list.value.0.properties.participants_12.value', 
    ... 
    } } 
]) 

Hoffnung, das hilft.

+0

Vielen Dank für Ihre Antwort! Die Datenbank beschwert sich nicht über die Abfrage, aber sie sieht aus, als befände sie sich in einer Endlosschleife, weil sie niemals das Ergebnis zurückgibt, sie wird für immer geladen. Ich denke, es liegt an etwas in dem Dokument, das ich speichere. –

+0

Welche Schnittstelle benutzen Sie bitte? Ist es die MongoDB-Shell? – richsilv

+0

Ich benutze Studio 3T. Ich habe versucht in Robomongo und es gibt ein leeres Objekt, das gleiche passiert in der Mongo-Shell –

Verwandte Themen