Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript MongoDB中的多键排序_Javascript_Mongodb - Fatal编程技术网

Javascript MongoDB中的多键排序

Javascript MongoDB中的多键排序,javascript,mongodb,Javascript,Mongodb,我想订购几把钥匙的收藏品。例如: db.collection.find().sort( { age: -1, score: 1 } ); 这一切都很好。然而,我想保证年龄是第一位的,分数是第二位的 在Javascript中,一个 这个问题的解释并不十分清楚 所以。。。我所展示的方式,从论点的顺序来看,确实可靠吗 Merc.只有在JavaScript实现保留对象中键的顺序时,您使用的语法才起作用。大多数时候都是这样,但这取决于你自己 对于Nodejs官方驱动程序,有一种替代形式可用于数组: db

我想订购几把钥匙的收藏品。例如:

db.collection.find().sort( { age: -1, score: 1 } );
这一切都很好。然而,我想保证年龄是第一位的,分数是第二位的

在Javascript中,一个

这个问题的解释并不十分清楚

所以。。。我所展示的方式,从论点的顺序来看,确实可靠吗


Merc.

只有在JavaScript实现保留对象中键的顺序时,您使用的语法才起作用。大多数时候都是这样,但这取决于你自己

对于Nodejs官方驱动程序,有一种替代形式可用于
数组

db.collection.find().sort([[age, -1], [score, 1]]);
其他语言的驱动程序可能也有类似的功能。

实际上提供了有关该主题的更多信息,其中说明:

db.users.aggregate(
    { $sort : { age : -1, posts: 1 } }
);
此操作按顺序对用户集合中的文档进行排序 根据年龄字段和降序排列,然后按升序排列 根据posts字段中的值排序


这将表明.sort()方法以同样的方式工作。

我希望它能够工作。但是,
db.collection.find().sort([{age:-1},{score:1}])
似乎在mongo shell中实际不起作用
db.collection.find().sort([[age:-1],[score:1]])
不是有效的JavaScript。该语法是有效的,但它在MongoDB shell上没有任何作用。这是节点mongodb本机特有的,请在您的回答中提及。您会使用数字字段名吗?那么您没有问题,问题在于数字键和字母数字键之间的差异,如果所有键都是字母数字键,则应在读取时对其进行排序