2017-09-21 4 views
0

Ich habe eine harte Zeit versucht, eine Scheibe auf einem Array auszuführen Ich habe eine Sammlung namens Kommentare, jedes Dokument hat ein Array-Feld, ich möchte darauf zugreifen und anwenden Scheibe für Paging Zweck bitte helfen !! versucht monk und mongodb nicht gutNodeJS/MongoDB: Führen Sie Slice-Operation für ein Array-Feld

Beispiel:

{ 
    _id:xyz, 
    msgs:[{.....},{.....},{.....}] 
} 


database.collection("comments") 
    .find({"_id": id},{ "msgs": { "$slice": [2,5] } }) 
    .toArray(function(err, result){ 
     //implementation 
    }); 

Antwort

0

Für mongodb Driver:

Statt

.find({"_id": id},{ "msgs": { "$slice": [2,5] } }) 

Verwenden

.find({"_id": id}).project({ "msgs": { "$slice": [2,5] } }) 

Wie angegeben ist der $slice Operator von Projektion Typ. Der mongodb Treiber für NodeJS benötigt Aufruf zu einer zusätzlichen .project Funktion, um selektive Felder zu projizieren sowie Projektionsoperatoren zu verwenden.

Verwandte Themen