поле сортировки mongodb, которое может содержать как целое, так и десятичное число? - PullRequest
0 голосов
/ 03 декабря 2018

Я хочу отсортировать поле mongodb, которое содержит числа (не десятичные и десятичные).когда я просто сортирую десятичные дроби на первом месте, хотя они должны идти в конце.Что я могу сделать, чтобы сделать сортировку в правильном порядке?

1 Ответ

0 голосов
/ 03 декабря 2018

Для следующего набора данных

{ "_id" : ObjectId("5c04bb058288944d211a1a6c"), "name" : "a", "id": 0.5 },
{ "_id" : ObjectId("5c04bb058288944d211a1a6d"), "name" : "b", "id" : 1 },
{ "_id" : ObjectId("5c04bb058288944d211a1a6e"), "name" : "c", "id" : 1.5 },
{ "_id" : ObjectId("5c04bb058288944d211a1a6f"), "name" : "d", "id" : 2 }

Следующий запрос сортирует данные в порядке убывания идентификатора.

db.YourCollection.find().sort({id: -1})

Вывод

{ "_id" : ObjectId("5c04bb058288944d211a1a6f"), "name" : "d", "id" : 2 },
{ "_id" : ObjectId("5c04bb058288944d211a1a6e"), "name" : "c", "id" : 1.5 },
{ "_id" : ObjectId("5c04bb058288944d211a1a6d"), "name" : "b", "id" : 1 },
{ "_id" : ObjectId("5c04bb058288944d211a1a6c"), "name" : "a", "id" : 0.5 }

Используйте .sort({"id": 1}) для сортировки данных по возрастанию.

...