提问者:小点点

节点js如何对集合进行排序


我有一个mongodb集合,里面有大量的条目。 +10000。

所有这些都具有相同的参数:

  • val_string
  • t1_string
  • t2_string

我正在通过一个从我的移动应用程序的get请求接收这个,但是顺序是不正确的。

如何按Val字符串对我的集合进行排序,在本例中,Val字符串是一个从1到10000的数字。

我使用的是mongoose mongodb和node JS。

现在,我查询集合并得到5个结果,发送它们,然后循环另外5个结果,直到我阅读完所有结果。

所以我需要在发送这些数据之前对收集进行分类。


app.get("/testmethod", function(req, res)
{

    mongoose.connect("mongodb://localhost:27017/CTI", {useNewUrlParser: true},function(err, client){
        if(err) {
            console.log(err)
        }
        else
        {
            client.db.collection("datas").find().limit(items_to_send).skip(Sent_data).toArray(function(err, result) {
            if (err) {throw err;}
            //console.log(result);
            Sent_data = Sent_data + items_to_send;
            db.close();

            var D1_T1 = result[0].T1_String;
            var D1_T2 = result[0].T2_String;
            var D2_T1 = result[1].T1_String;
            var D2_T2 = result[1].T2_String;
            var D3_T1 = result[2].T1_String;
            var D3_T2 = result[2].T2_String;
            var D4_T1 = result[3].T1_String;
            var D4_T2 = result[3].T2_String;
            var D5_T1 = result[4].T1_String;
            var D5_T2 = result[4].T2_String;
            
            res.status(200).send({
                D1_T1: D1_T1,
                D1_T2: D1_T2,
                D2_T1: D2_T1,
                D2_T2: D2_T2,
                D3_T1: D3_T1,
                D3_T2: D3_T2,
                D4_T1: D4_T1,
                D4_T2: D4_T2,
                D5_T1: D5_T1,
                D5_T2: D5_T2
                });
            });
        }//End of else
    });//End of connect
});

我想要的是一个排序,按照val字符串字段对整个集合进行排序,从1到10000


共1个答案

匿名用户

您有以下内容

client.db.collection("datas").find().limit(items_to_send).skip(Sent_data)

您可以添加.sort({fieldName:SortOrder})

排序顺序:1/-1(描述)