2017-02-03 2 views
0

Ich möchte lazy laden in angular.js implementieren, ich sende die Liste der Daten aus dem Backend an die Benutzeroberfläche mit Nodejs, muss ich implementieren, auf 10 Elemente scrollen, sind da Um dies zu erreichen, teilen Sie bitte alle Links mit. Bitte kann mir jemand dabei helfen.Wie faul laden mit eckigen mit mongodb Daten

+0

Verwendung Richtlinien wie http://shabeebk.com/blog/lazy-scroll-infinite-scrolling-angularjs-plugin/ oder unendlich scroll –

+0

beste Tutorial https://www.youtube.com/watch?v=zKkun-mJtPQ&list=PL6n9fhu94yhWKHkcL7RJmmXyxkuFB3KSl Kasse –

Antwort

3

Lazy Loading hat nichts mit der DB zu tun, da es von der DAO-Schicht abhängt, während es der DB darum geht, die Daten für die an sie übergebene Abfrage zurückzugeben.

Mein Ansatz verzögertes Laden von UI

Paginierung erreichen verwenden können wir in Ihrer Sammlung

2) Jedes Mal,

1) Finden Sie die Gesamtzahl der Dokumente verzögertes Laden tun Wenn Sie die Seite mit den nächsten Datensätzen laden, geben Sie die erforderlichen Informationen ein, z. B. aus welchem ​​Dokument die DB die Daten senden soll

3) Wiederholen Sie Schritt 2, bis Sie die Gesamtzahl der Dokumente in Ihrer Sammlung

Ein Beispiel erreichen Lassen Sie uns eine Sammlung mit wenigen Aufzeichnungen haben

db.mycollection.find(); 

{ "_id" : ObjectId("58947e7e93cbb73057657d60"), "name" : "Clement" } 
{ "_id" : ObjectId("58947e7e93cbb73057657d61"), "name" : "Rockin" } 
{ "_id" : ObjectId("58947e7e93cbb73057657d62"), "name" : "Gowri" } 
{ "_id" : ObjectId("58947e7e93cbb73057657d63"), "name" : "Inbaraj" } 
{ "_id" : ObjectId("58947e7e93cbb73057657d64"), "name" : "Siva" } 
{ "_id" : ObjectId("58947e7e93cbb73057657d65"), "name" : "Rani" } 
{ "_id" : ObjectId("58947e7e93cbb73057657d66"), "name" : "Rose" } 
{ "_id" : ObjectId("58947e7e93cbb73057657d67"), "name" : "Rekha" } 
{ "_id" : ObjectId("58947e7e93cbb73057657d68"), "name" : "Dev" } 
{ "_id" : ObjectId("58947f6f93cbb73057657d69"), "name" : "Joe" } 
{ "_id" : ObjectId("58947f8393cbb73057657d6a"), "name" : "Beniton" } 

Voraussetzung für die Paginierung tun

db.mycollection.find().count() 
11 

Let Ich habe die anfängliche Ladegröße wie 5

Meine erste Abfrage an DB wäre

db.mycollection.find().sort({"_id":1}).limit(5); 

{ "_id" : ObjectId("58947e7e93cbb73057657d60"), "name" : "Clement" } 
{ "_id" : ObjectId("58947e7e93cbb73057657d61"), "name" : "Rockin" } 
{ "_id" : ObjectId("58947e7e93cbb73057657d62"), "name" : "Gowri" } 
{ "_id" : ObjectId("58947e7e93cbb73057657d63"), "name" : "Inbaraj" } 
{ "_id" : ObjectId("58947e7e93cbb73057657d64"), "name" : "Siva" } 

Meine nächste Abfrage

db.mycollection.find().sort({"_id":1}).skip(5).limit(5); 

{ "_id" : ObjectId("58947e7e93cbb73057657d65"), "name" : "Rani" } 
{ "_id" : ObjectId("58947e7e93cbb73057657d66"), "name" : "Rose" } 
{ "_id" : ObjectId("58947e7e93cbb73057657d67"), "name" : "Rekha" } 
{ "_id" : ObjectId("58947e7e93cbb73057657d68"), "name" : "Dev" } 
{ "_id" : ObjectId("58947f6f93cbb73057657d69"), "name" : "Joe" } 

letzte Abfrage würde

db.mycollection.find().sort({"_id":1}).skip(10).limit(5); 

{ "_id" : ObjectId("58947f8393cbb73057657d6a"), "name" : "Beniton" } 

In diesem Beispiel DB sein,

Sort auf _id verwendet wird, die beim Einsetzen der Zeit basiert, die hilft uns bei der Bestellung der Dokumente und rendert sie für die nachfolgenden Abfragen.

Hoffe es hilft!

Referenzen:

https://www.mongodb.com/blog/post/the-mean-stack-mongodb-expressjs-angularjs-and

Lazy Loading/More Data Scroll in Mongoose/Nodejs

http://adrichman.github.io/implementing-a-lazy-load-and-infinite-scroll-in-angularjs/

+0

Dies ist eine sehr gute Antwort. Vielen Dank Kumpel! –