Während ich Debugging Problem, fand ich, dass Mongoose Sortierung nicht richtig funktioniert. Ich entfernte unseren Code und machte einen einfachen Test. Sie können es ausführen, um zu sehen, dass es fehlschlägt.Mongoose Population Sortierung funktioniert nicht richtig
Vielleicht hat jemand es schon einmal gesehen? Vielleicht fehlt mir etwas?
danke für Ihre Hilfe!
var mongoose = require('mongoose');
var assert = require('assert');
mongoose.set('debug', true);
mongoose.connect('mongodb://localhost/test');
var CarSchema = new mongoose.Schema({
name: String
});
mongoose.model('Car', CarSchema);
var CarsSchema = new mongoose.Schema({
car: {
type: mongoose.Schema.Types.ObjectId,
ref: 'Car'
},
quantity: Number
});
var OrderSchema = new mongoose.Schema({
suborders: [CarsSchema]
});
mongoose.model('Cars', OrderSchema);
var Car = mongoose.model('Car');
var Cars = mongoose.model('Cars');
Car.create([
{
name: 'Tesla'
},
{
name: 'BMW'
}
], function (err, objs) {
Cars.create({
suborders: [
{
car: objs[1]._id, //BMW
quantity: 1
}, {
car: objs[0]._id, //Tesla
quantity: 2
}
]
}, function (err, order) {
Cars.findById(order._id)
.populate({
path: 'suborders.car',
options: {
sort: '-name'
}
}).exec(function (err, cars) {
assert.equal(cars.suborders[0].car.name, 'Tesla', 'DESC: 0 should be Tesla');
assert.equal(cars.suborders[1].car.name, 'BMW', 'DESC: 1 should be BMW');
assert.equal(cars.suborders[0].quantity, 2, 'DESC: Tesla quantity should be 2');
assert.equal(cars.suborders[1].quantity, 1, 'DESC: BMW quantity should be 1');
});
});
});