Da die Sammlung, die ich blätterte, doppelte Werte hatte, musste ich einen zusammengesetzten Index für ProductName und ID erstellen.
Zusammengesetzten Index erstellen
db.ProductGuideItem.ensureIndex({ ProductName:1, _id:1});
Das hat mein Problem gelöst.
Referenz:https://groups.google.com/d/msg/mongodb-user/3EZZIRJzW_A/oYH79npKZHkJ
Angenommen, Sie haben diese Werte:
{a:1, b:1}
{a:2, b:1}
{a:2, b:2}
{a:2, b:3}
{a:3, b:1}
So machen Sie das für die bereichsbasierte Paginierung (Seitengröße 2):
1. Seite
find().sort({a:1, b:1}).limit(2)
{a:1, b:1}
{a:2, b:1}
2. Seite
find().min({a:2, b:1}).sort({a:1, b:1}).skip(1).limit(2)
{a:2, b:2}
{a:2, b:3}
3. Seite
find().min({a:2, b:3}).sort({a:1, b:1}).skip(1).limit(2)
{a:3, b:1}
Hier sind die Dokumente für $min/max:http://www.mongodb.org/display/DOCS/min+and+max+Query+Specifiers
Wenn Sie keine doppelten Werte in Ihrer Sammlung haben, müssen Sie Min &Max nicht verwenden oder einen zusammengesetzten Index erstellen. Sie können einfach $lt &$gt.
verwenden