2016-04-25 2 views
1

Ich versuche eine Aggregation zu verwenden, wo in der $ match-Bedingung ein Datum $ GTE mein gegebenes Datum ist.Python-Eve MongoDB Aggregation mit ISODate

Schema:

hashtag_top = { 
    'datasource': { 
     'source': 'collection', 
     'aggregation': { 
      'pipeline': [ 
       { "$match": { "_updated": { "$gte" : "$upd" } } }, 
       { "$group": { "_id": '$Hashtag', "count": { "$sum": 1 } } }, 
       { "$sort": { "count": -1 }}, 
       { "$limit": 10 } 
      ] 
     } 
    }, 
} 

= kein Ergebnis

hashtag_top = { 
    'datasource': { 
     'source': 'collection', 
     'aggregation': { 
      'pipeline': [ 
       { "$match": { "_updated": { "$gte" : ISODate("$upd") } } }, 
       { "$group": { "_id": '$Hashtag', "count": { "$sum": 1 } } }, 
       { "$sort": { "count": -1 }}, 
       { "$limit": 10 } 
      ] 
     } 
    }, 
} 

= gibt einen Dump, wenn meine run.py

EDIT anfordern Start:

http://myserver:5000/hashtag_top/?aggregate={"$upd": "+myjsisodate+"} 
+0

Können Sie bitte ein Beispiel für Ihre Anfrage hinzufügen? –

+0

Hallo Nicola, ja sicher sieht es etwa so aus: myserver: 5000/hashtag_top /? Aggregat = {"$ upd": "+ myjsisodate +"} –

+0

gibt es vielleicht eine möglichkeit, dieses feld mit flaschen bereitzustellen? (Meine Python ist ein bisschen schlecht :-) Ich möchte nur Dokumente mit dieser Aggregation erhalten, wo _updated timestamp> (jetzt-3days). –

Antwort

1

Mongo aggre Die Unterstützung des Frameworks für Eve wurde noch nicht veröffentlicht, also nehme ich an, Sie sind in der Entwicklungsabteilung. Momentan werden Daten nicht analysiert. Ich habe dafür einen ticket geöffnet, der angesprochen wird bevor 0,7 (mit Aggregation Framework Support) freigegeben wird.

UPDATE: Datumsverarbeitung wird jetzt auf Eve 0.7-dev unterstützt. Stellen Sie sicher, dass Sie ein Datum in RFC 1123 (ex RFC 822) Format angeben:

http://myserver:5000/hashtag_top/?aggregate={"$upd": "Mon, 9 May 2016 12:00:00 GMT"} 
+0

Danke Nicola :) keine Idee für eine Arbeit? ;-) –

+0

@HaraldWiesinger Ich habe die Antwort aktualisiert, da das Parsen jetzt unterstützt wird. Wenn es jetzt für Sie funktioniert, akzeptieren Sie bitte die Antwort. –

+0

hey cool, danke! Ich werde das später am Abend versuchen ;-) –