要在MongoDB 4中对文档进行排序,请使用sort()。要仅显示已排序的单个字段,请将其设置为1。
让我们创建一个包含文档的集合-
> db.demo611.insertOne({"Name":"Chris"});{ "acknowledged" : true, "insertedId" : ObjectId("5e987110f6b89257f5584d83") } > db.demo611.insertOne({"Name":"Adam"});{ "acknowledged" : true, "insertedId" : ObjectId("5e987115f6b89257f5584d84") } > db.demo611.insertOne({"Name":"John"});{ "acknowledged" : true, "insertedId" : ObjectId("5e987118f6b89257f5584d85") } > db.demo611.insertOne({"Name":"Bob"});{ "acknowledged" : true, "insertedId" : ObjectId("5e98711bf6b89257f5584d86") }
在find()方法的帮助下显示集合中的所有文档-
> db.demo611.find(); This will produce the following output: { "_id" : ObjectId("5e987110f6b89257f5584d83"), "Name" : "Chris" } { "_id" : ObjectId("5e987115f6b89257f5584d84"), "Name" : "Adam" } { "_id" : ObjectId("5e987118f6b89257f5584d85"), "Name" : "John" } { "_id" : ObjectId("5e98711bf6b89257f5584d86"), "Name" : "Bob" }
以下是使用MongoDB 4对文档进行排序的查询-
> db.demo611.find().sort({Name:1});
这将产生以下输出。
{ "_id" : ObjectId("5e987115f6b89257f5584d84"), "Name" : "Adam" } { "_id" : ObjectId("5e98711bf6b89257f5584d86"), "Name" : "Bob" } { "_id" : ObjectId("5e987110f6b89257f5584d83"), "Name" : "Chris" } { "_id" : ObjectId("5e987118f6b89257f5584d85"), "Name" : "John" }
问题内容: 我有一个包含一百万个数字的文件。我需要知道如何有效地对其进行排序,以免使计算机停滞不前,并且仅打印前十名。 我知道这是选择排序,我不确定什么是最好的排序。 问题答案: 如果只需要前10个值,则浪费大量时间对每个数字进行排序。 只需浏览数字列表,并跟踪到目前为止看到的前10个最大值。在浏览列表时更新前十名,并在到达末尾时将其打印出来。 这意味着您只需要对文件进行一次遍历(即theta(n
因此,我试图学习如何为类项目排序数组。我想知道如何对一个数组进行排序,从而对另一个数组进行排序。在下面的代码中,我可以对年份数组进行排序,但我如何才能使更改这一数组将名称和艺术家数组都更改为它们排列的数组呢?此外,如果你有任何建议,让代码对眼睛不那么苛刻,请告诉我,我正在努力掌握这个概念。
我想根据数字字段对搜索结果进行排序。在下面的示例代码中,我希望基于'Age'字段进行排序。我从以下答案开始: [如何在Lucene 6中对IntPont或LongPoint字段进行排序 [在Lucene中根据数字字段对搜索结果进行排序 我在搜索函数中将sortfield.type.score更改为sortfield.type.long。但我得到: 意外的docvalues为字段“年龄”键入NONE
问题内容: 首先,我发布此内容是因为当我在寻找以下问题的解决方案时,我在stackoverflow上找不到该解决方案。因此,我希望在此处增加一些知识库。 我需要处理目录中的某些文件,并且需要对文件进行数字排序。我在wiki.python.org上找到了一些有关排序的示例(尤其是使用模式),并将它们放在一起: 我对Python还是很陌生,想问一下社区是否可以对此进行任何改进:缩短代码(删除),性能,
问题内容: 我在基于所选嵌套文档中的值对文档进行排序时遇到问题。我正在使用这样的设置: 我要检索的是具有所选子代ID的文档,这些文档将按所选子代的大小进行排序。因此查询看起来像: 在此查询中,无论我输入“ order”字段(asc还是desc),返回的文档都是相同的顺序。可能是什么问题? 问题答案: 看起来您构建嵌套过滤器的方式不正确。您在这里列出的内容也不适合我。 但是当我替换这个: 有了这个:
我有一个MongoDB集合,它有1000万个数据。我有两个主要字段(字符串类型)和(整数类型)。这两个字段都已编入索引,但是当我在 find 语句之后对结果进行排序时,mongo 需要花费大量时间来返回结果。 如何从find语句中快速排序结果?