当前位置: 首页 > 编程笔记 >

对同时包含整数值和小数值的MongoDB字段进行排序

袁卓
2023-03-14
本文向大家介绍对同时包含整数值和小数值的MongoDB字段进行排序,包括了对同时包含整数值和小数值的MongoDB字段进行排序的使用技巧和注意事项,需要的朋友参考一下

要进行排序,请在MongoDB中使用sort()。让我们创建一个包含文档的集合-

> db.demo755.insertOne({"Value":10});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5eae9e72a930c785c834e572")
}
> db.demo755.insertOne({"Value":10.5});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5eae9e75a930c785c834e573")
}
> db.demo755.insertOne({"Value":9.5});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5eae9e79a930c785c834e574")
}
> db.demo755.insertOne({"Value":12.5});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5eae9e7fa930c785c834e575")
}
> db.demo755.insertOne({"Value":11.5});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5eae9e87a930c785c834e576")
}
> db.demo755.insertOne({"Value":6});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5eae9e97a930c785c834e577")
}

在find()方法的帮助下显示集合中的所有文档-

> db.demo755.find();

这将产生以下输出-

{ "_id" : ObjectId("5eae9e72a930c785c834e572"), "Value" : 10 }
{ "_id" : ObjectId("5eae9e75a930c785c834e573"), "Value" : 10.5 }
{ "_id" : ObjectId("5eae9e79a930c785c834e574"), "Value" : 9.5 }
{ "_id" : ObjectId("5eae9e7fa930c785c834e575"), "Value" : 12.5 }
{ "_id" : ObjectId("5eae9e87a930c785c834e576"), "Value" : 11.5 }
{ "_id" : ObjectId("5eae9e97a930c785c834e577"), "Value" : 6 }

以下是对包含整数和小数值的MongoDB字段进行排序的查询-

> db.demo755.find().sort({Value:1});

这将产生以下输出-

{ "_id" : ObjectId("5eae9e97a930c785c834e577"), "Value" : 6 }
{ "_id" : ObjectId("5eae9e79a930c785c834e574"), "Value" : 9.5 }
{ "_id" : ObjectId("5eae9e72a930c785c834e572"), "Value" : 10 }
{ "_id" : ObjectId("5eae9e75a930c785c834e573"), "Value" : 10.5 }
{ "_id" : ObjectId("5eae9e87a930c785c834e576"), "Value" : 11.5 }
{ "_id" : ObjectId("5eae9e7fa930c785c834e575"), "Value" : 12.5 }

 类似资料:
  • 我试图在elasticsearch中对嵌套字段进行排序,但在按升序排序时,它总是在排序列表的顶部显示带有空值嵌套字段的文档。我希望排序(升序和降序),并希望空值嵌套字段文档出现在排序列表的末尾。 这是我正在使用的排序查询: 下面是我应用的与嵌套的“标记”字段相关的映射: 样品有效载荷:

  • 问题内容: 我有一个包含以下详细信息的列表: 现在,我想对该列表进行排序,以使这些值按以下顺序排列: 显然,这样做并不能给出正确的答案-它给出了: 我假设这是因为python直接将所有这些都视为字符串。但是,我想根据它们的数值FIRST对它们进行排序,然后根据数字后面的字符对它们进行排序。 我该如何进行? 非常感谢 :) 问题答案: 您想使用 自然排序 : 用法示例: 通过将元素拆分为多个列表以分

  • 问题内容: 我有这样的数组 如何按return_fare asc和one_way_fare asc排序值? 我尝试了array_multisort()但最终却得到了混乱的数据。 Asort仅适用于一维数组,我需要按两个或多个值进行排序,我如何才能像SQL中那样实现此功能,按field1 asc,field2 asc排序? 问题答案: 是正确的函数,您必须以某种方式搞砸了: 如果您在PHP的手册页上

  • 在引入比较器之前,输出是: 此代码生成的输出为: 我希望它产生的输出是: 编辑:为澄清而编辑。数组已更改,并在添加比较器之前输出。

  • 我希望根据记录的整数值降序排序:

  • 在我的项目中,我将文档存储在MySQL DB中。一个表包含标题号(t_nm)和标题。我想按标题号以正确的顺序列出这张表。由于存储在varchar中的数据,“SELECT*FROM table ORDER by t_nm”不能正常工作。 正确的查询是什么? t_nm(varchar)标题(varchar) 我想用正确的顺序对这些数据进行排序,如下所示