MongoDB使用节点MongoDB本机进行排序

MongoDB sort with node-mongodb-native

本文关键字:MongoDB 排序 节点 本机      更新时间:2023-09-26

我想对Mongo查询的结果进行排序。从这里我发现我可以这样做,例如:

collection.find().sort( { name: 1 } ).limit( 5 )

由于我不想按名称排序,而是按请求指定的内容排序:

var query = require('url').parse(req.url, true).query;
var n = parseInt(query.limit);
var f = String(query.field);
var dir = query.direction;
collection.find().sort({f: dir}).limit(n)

问题是,它按"f"排序,而不是按变量f的值排序。我怎么能按f中存储的值排序呢?

var query = require('url').parse(req.url, true).query;
var n = parseInt(query.limit);
var f = String(query.field);
var dir = query.direction;
var sortObj = {};
sortObj[f] = dir;
collection.find().sort(sortObj).limit(n)

可能是这样的吗?