Reputation: 2510
mongo db reorders the documents when ever a document is updated. I dint want this to happen so I found that using order by _id would return the documents in consistent order. But now I am not able to sort. Below is my find query which finds posts created by a particular user and I am trying to sort by _id. Code:
app.get('/posts/:user_id',function(req,res){
posts.find({
'creator.user_id':req.params.user_id
},[],{ sort: { '_id': -1 } },function(err,userpost){
if(err)
res.send(err);
res.json(userpost);
})
});
Upvotes: 13
Views: 18083
Reputation: 42058
The second parameter is for the fields to select. You need to add options to the third parameter:
posts.find({'creator.user_id': req.params.user_id}, null, {sort: {'_id': -1}}, function(err,userpost) {
if(err)
res.send(err);
res.json(userpost);
});
Alternatively you can use the sort()
function:
posts.find({'creator.user_id': req.params.user_id}).sort({'_id': -1}).exec(function(err,userpost) {
if(err)
res.send(err);
res.json(userpost);
});
You can find more examples in the documentation.
Upvotes: 20