#node.js #mongodb #mongoose
#node.js #mongodb #мангуст
Вопрос:
mongo db переупорядочивает документы при обновлении документа. Я не хочу, чтобы это произошло, поэтому я обнаружил, что использование order by _id вернет документы в согласованном порядке. Но теперь я не могу сортировать. Ниже приведен мой запрос поиска, который находит сообщения, созданные конкретным пользователем, и я пытаюсь отсортировать по _id . Код:
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);
})
});
Ответ №1:
Второй параметр предназначен для выбора полей. Вам нужно добавить опции к третьему параметру:
posts.find({'creator.user_id': req.params.user_id}, null, {sort: {'_id': -1}}, function(err,userpost) {
if(err)
res.send(err);
res.json(userpost);
});
В качестве альтернативы вы можете использовать sort()
функцию:
posts.find({'creator.user_id': req.params.user_id}).sort({'_id': -1}).exec(function(err,userpost) {
if(err)
res.send(err);
res.json(userpost);
});
Вы можете найти больше примеров в документации.