2016-09-08 5 views
0

Ich habe db Eintrag wie unten ich möchte nach added_on sortieren, aber es gibt Fehler. Haben wir eine Möglichkeit haben, das Datum in diesem Format zu sortieren oder vorgeschlagen wird ein anderes Format zu speichern DatumSortierung nach Datum in Mongodb Pymongo

{ 
    "_id" : ObjectId("57d1a9dc1170b35414a180d7"), 
    "c" : "TPCG", 
    "modified_on" : ISODate("2016-09-08T18:11:40.150Z"), 
    "euuu" : "5", 
    "owner" : null, 
    "added_on" : ISODate("2016-09-08T18:11:40.150Z") 
} 

Fehler

> db.testjobs.find({'add_on':{$lte: ISODate("2016-09-08T18:11:40.150Z")}}).sort('added_on',-1).limit(3) 
Error: error: { 
    "$err" : "Can't canonicalize query: BadValue sort must be object or array", 
    "code" : 17287 
} 

>db.testjobs.find().sort('added_on',-1) 
Error: error: { 
    "$err" : "Can't canonicalize query: BadValue sort must be object or array", 
    "code" : 17287 
+0

Ihre Frage ist mit Pymongo getaggt, aber der Code, den Sie anzeigen, scheint JS in der Shell ausgeführt werden? – JohnnyHK

+0

es ist die Ausgabe von Mongodb-Terminal, meine Art gescheitert am Terminal es selbst so didnlt für pymongo weiter, aber incase können Sie Gedanken für pymongo seine gut n gut teilen – pkm

+0

Ich glaube, es ist durch falsche Syntax von Ihnen verursacht .... –

Antwort

3

Ich denke, es ist ein kleines Problem, das Sie verwenden übersehen :)

Die erste Anweisung enthielt einen Filter 'add_on' anstelle von 'added_on'. Beide enthaltenen Art ('added_on', 1 ') soll diese Art sein (' added_on‘: -1)

db.testjobs.find({'added_on':{$lte: ISODate("2016-09-08T18:11:40.150Z")}}).sort('added_on' : -1).limit(3)}) 

db.testjobs.find().sort('added_on':-1) 

Beide sind hier zu arbeiten.