0
API(GET localhost:4000/users/api、PostmanのDELETE localhost:4000/users/api)でGETメソッドとDELETEメソッドを正常に実装しました。私の安心したAPIの並べ替えの実装
ここで実装したいのは、1が昇順、-1が降順である特定の各フィールドを並べ替える順序を指定することです。私はlocalhostを行う場合は例えば、
は:?4000/API /ユーザーをソート= {フィールド名:1}
は、これは 'フィールド名' でソートされたユーザーのリストを返します。これは、通常のソートのために働く
router.get('/', function(req, res) {
let obj = JSON.parse(req.query.sort)
user
.find({})
.sort(obj)
.exec(function(err, users) {
if(err){
res.status(404).send({
message: err,
data: []
});
} else {
res.status(200).send({
message: 'OK',
data: users
});
}
});
});
が、私は昇順と-1で下降し、1
EDITを指定する方法を知りたい:私がこれまで行ってきた何
は以下のとおりです。
router.get('/', function(req, res) {
var count = req.query.count;
var sorting = req.query.sort;
//let obj = JSON.parse(sorting)
let obj = {}
obj[fieldname] = req.query.sort.fieldName == '1' ? 1:-1
if(sorting != null) {
user
.find({})
.sort(obj)
.exec(function(err, users) {
if(err){
res.status(404).send({
message: err,
data: []
});
} else {
res.status(200).send({
message: 'OK sorted',
data: users
});
}
});
}
});
どうすれば具体的にクエリのように動作させることができますか?sort = {fieldName:1} – Dawn17
これをテストします: 'obj [fieldName] = obj [fieldName] == '1'? 1:-1' –
私のEDITが見えますか?それはfieldNameが定義されていないと言います – Dawn17