Derzeit habe ich diese Verwirrung, die ein Array von Elementen in einem Schema paginieren soll.Wie paginiere ich ein Array von _id in Mungo?
So technisch hat jeder Benutzer einen Warenkorb und ich möchte die Artikel des Wagens paginieren. Nehmen wir an, der Einkaufswagen enthält 18 Artikel. Ich möchte den Einkaufswagen auf nur 5 Elemente paginieren.
Hier ist das Schema
const UserSchema = new Schema({
email: { type: String, unique: true, lowercase: true},
cart: [{
type: Schema.Types.ObjectId, ref: 'Product'
}],
});
Hier ist die Strecke
Mein aktueller Ansatz
router.get('/cart', (req, res, next) => {
User.findOne({ _id: req.user._id })
.populate({
path: 'cart',
options: { limit: 5 }
})
.exec((err, user) => {
res.render('order/cart', { user: user });
});
});
Mein aktueller Ansatz wird auf jeden Fall die Elemente aus 18 Elemente nur 5 gezeigt begrenzen Artikel, aber das schafft ein neues Problem, das ich jetzt nicht berechnen kann er Gesamtpreis des Wagens, weil es nur 5 Stück pro Anfrage begrenzt.
Mit [ '$ slice'] finden (https://docs.mongodb.com/manual/reference/operator/projection/slice/). '.select ({'cart': {'$ slice': [überspringen, begrenzen]}})'. Es gibt es seit der ersten Veröffentlichung von MongoDB genau für diesen Zweck. –