MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Как да сортирате две полета с mongoose?

Вижте sort() определение.

sort({_id: -1, upvotes_count: -1})

означава сортиране на _id първо, след това сортирайте upvotes_count по поръчка само за същите _id публикации. За съжаление, _id е ObjectId , който е 12-байтов тип BSON, конструиран с помощта на:

  • 4-байтова стойност, представляваща секундите от епохата на Unix,
  • 3-байтов идентификатор на машината,
  • 2-байтов идентификатор на процеса и
  • 3-байтов брояч, започващ с произволна стойност.

Трудно е да се получи същия ObjectId . А именно _id на всеки запис трябва да бъде уникален в този документ. В резултат на това резултатът от вашите тестови кодове просто се подрежда по _id описание

Ето един пример,

+---------+---------------+
| _id     |  upvote_count |
+---------+---------------+
|  1      |      5        |
|  4      |      7        |
|  3      |      9        |
|  4      |      8        |

Резултатът от sort({_id: -1, upvotes_count: -1}) трябва да бъде

+---------+---------------+
| _id     |  upvote_count |
+---------+---------------+
|  4      |      8        |
|  4      |      7        |
|  3      |      9        |
|  1      |      5        |

upvote_count ще бъдат сортирани за същия _id .

Въпреки това, в този случай. Има на същия _id в този случай.

+---------+---------------+
| _id     |  upvote_count |
+---------+---------------+
|  1      |      5        |
|  4      |      7        |
|  3      |      9        |
|  2      |      8        |

Резултатът от sort({_id: -1, upvotes_count: -1}) трябва да бъде

+---------+---------------+
| _id     |  upvote_count |
+---------+---------------+
|  1      |      5        |
|  2      |      8        |
|  3      |      9        |
|  4      |      7        |


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Намирате пропуски в огромни потоци от събития?

  2. Редовен израз за MongoDB ObjectID

  3. Съхраняване на поток от данни от POST заявка в GridFS, express, mongoDB, node.js

  4. алтернативи на mongoDB за ограничения на външен ключ

  5. Как мога да използвам Mongoid и ActiveRecord паралелно в Rails 3?