There is a person Michael who has favoriteFruits = [ { name: 'Apple'}, {name: 'Banana'} ]
What I want to do is changing its order
[ { name: 'Apple'}, {name: 'Banana'} ]
to
[ { name: 'Banana'}, {name: 'Apple'} ]
So I did :
Members.findOne({ name: 'Michael' }, function(err, member){
member.favoriteFruits = [ {name: 'Banana'}, {name: 'Apple'} ]
member.save(function (err, result){
// result is favoriteFruits = [ { name: 'Banana'}, {name: 'Apple'} ]
// result is correct, but real db's order not changed.
})
})
Even result's order of favoriteFruits is correct, but the order of db is not changed. The order is not changed.
I guess MongoDB assume this job is useless task so it doesn't do anything. How can I update order?
findOneAndUpdateinstead of two separate queries?[{ name: 'Banana', index: 0, { name: 'Apple', index: 1 }] and order by index...? I hope there will be more simple way....