Sắp xếp theo vị trí mongodb

Phương thức sort() chỉ định thứ tự truy vấn trả về các tài liệu phù hợp từ bộ sưu tập đã cho. Bạn phải áp dụng phương pháp này cho con trỏ trước khi truy xuất bất kỳ tài liệu nào từ cơ sở dữ liệu. Nó lấy một tài liệu làm tham số chứa một trường. cặp giá trị xác định thứ tự sắp xếp của tập kết quả. Giá trị là 1 hoặc -1 chỉ định sắp xếp tăng dần hoặc giảm dần tương ứng

  • Nếu một sắp xếp trả về cùng một kết quả mỗi khi chúng ta thực hiện trên cùng một dữ liệu, thì kiểu sắp xếp đó được gọi là sắp xếp ổn định.  
  • Nếu một sắp xếp trả về một kết quả khác nhau mỗi khi chúng ta thực hiện trên cùng một dữ liệu, thì kiểu sắp xếp đó được gọi là sắp xếp không ổn định
  • MongoDB thường thực hiện sắp xếp ổn định trừ khi sắp xếp trên trường chứa các giá trị trùng lặp.  
  • Chúng ta có thể sử dụng phương thức limit() với phương thức sort(), nó sẽ trả về m tài liệu đầu tiên, trong đó m là giới hạn đã cho
  • MongoDB có thể tìm thấy kết quả của thao tác sắp xếp bằng chỉ mục
  • Nếu MongoDB không tìm thấy thứ tự sắp xếp bằng cách quét chỉ mục, thì nó sẽ sử dụng thuật toán sắp xếp top-k

cú pháp

db.Collection_Name.sort({filed_name:1 or -1})

Tham số

Tham số chứa một trường. cặp giá trị xác định thứ tự sắp xếp của tập kết quả. Giá trị là 1 hoặc -1 chỉ định sắp xếp tăng dần hoặc giảm dần tương ứng. Loại tham số là một tài liệu


Sắp xếp kết quả

Sử dụng phương pháp sort() để sắp xếp kết quả theo thứ tự tăng dần hoặc giảm dần

Phương thức sort() nhận một tham số, một đối tượng xác định thứ tự sắp xếp

Thí dụ

Sắp xếp kết quả theo thứ tự abc theo tên

var MongoClient = require('mongodb'). MongoClient;
var url = "mongodb. //máy chủ cục bộ. 27017/";

MongoClient. connect(url, function(err, db) {
  if (err) throw err;
  var dbo = db. db("mydb");
  var mysort = { name. 1 };
  dbo. bộ sưu tập ("khách hàng"). tìm thấy(). sắp xếp(mysort). toArray(function(err, result) {
    if (err) throw err;
    bảng điều khiển. log(kết quả);
    db. close();
  });
});

Chạy ví dụ »

Lưu mã ở trên vào tệp có tên "demo_sort. js" và chạy tệp

Chạy "demo_sort. js"

C. \Users\Tên của bạn>nút demo_sort. js

Cái nào sẽ cho bạn kết quả này

[
  { _id. 58fdbf5c0ef8a50b4cdd9a86, tên. 'Amy', địa chỉ. 'Apple st 652'},
  { _id. 58fdbf5c0ef8a50b4cdd9a8e, tên. 'Ben', địa chỉ. 'Công viên ngõ 38'},
  { _id. 58fdbf5c0ef8a50b4cdd9a8a, tên. 'Betty', địa chỉ. 'Green Grass 1'},
  { _id. 58fdbf5c0ef8a50b4cdd9a90, tên. 'Chuck', địa chỉ. 'Đường chính 989'},
  { _id. 58fdbf5c0ef8a50b4cdd9a87, tên. 'Hannah', địa chỉ. 'Núi 21'},
  { _id. 58fdbf5c0ef8a50b4cdd9a84, tên. 'John', địa chỉ. 'Quốc lộ 71'},
  { _id. 58fdbf5c0ef8a50b4cdd9a88, tên. 'Michael', địa chỉ. 'Thung lũng 345'},
  { _id. 58fdbf5c0ef8a50b4cdd9a85, tên. 'Peter', địa chỉ. 'Lowstreet 4'},
  { _id. 58fdbf5c0ef8a50b4cdd9a8b, tên. 'Richard', địa chỉ. 'Sky st 331'},
  { _id. 58fdbf5c0ef8a50b4cdd9a89, tên. 'Sandy', địa chỉ. 'Ocean blvd 2'},
  { _id. 58fdbf5c0ef8a50b4cdd9a8c, tên. 'Susan', địa chỉ. 'Một chiều 98'},
  { _id. 58fdbf5c0ef8a50b4cdd9a8d, tên. 'Vicky', địa chỉ. 'Khu vườn vàng 2'},
  { _id. 58fdbf5c0ef8a50b4cdd9a91, tên. 'Viola', địa chỉ. 'Sideway 1633'},
  { _id. 58fdbf5c0ef8a50b4cdd9a8f, tên. 'William', địa chỉ. 'Trung tâm đường 954'}
]



Sắp xếp giảm dần

Sử dụng giá trị -1 trong đối tượng sắp xếp để sắp xếp giảm dần

{ tên. 1 } // tăng dần
{ tên. -1 } // giảm dần

Thí dụ

Sắp xếp kết quả đảo ngược theo thứ tự bảng chữ cái theo tên

var MongoClient = require('mongodb'). MongoClient;
var url = "mongodb. //máy chủ cục bộ. 27017/";

MongoClient. connect(url, function(err, db) {
  if (err) throw err;
  var dbo = db. db("mydb");
  var mysort = { name. -1 };
  dbo. bộ sưu tập ("khách hàng"). tìm thấy(). sắp xếp(mysort). toArray(function(err, result) {
    if (err) throw err;
    bảng điều khiển. log(kết quả);
    db. close();
  });
});

Chạy ví dụ »

Lưu mã ở trên vào tệp có tên "demo_sort_desc. js" và chạy tệp

Chạy "demo_sort_desc. js"

C. \Users\Tên của bạn>nút demo_sort_desc. js

Cái nào sẽ cho bạn kết quả này

[
  { _id. 58fdbf5c0ef8a50b4cdd9a8f, tên. 'William', địa chỉ. 'Trung tâm đường 954'},
  { _id. 58fdbf5c0ef8a50b4cdd9a91, tên. 'Viola', địa chỉ. 'Sideway 1633'},
  { _id. 58fdbf5c0ef8a50b4cdd9a8d, tên. 'Vicky', địa chỉ. 'Khu vườn màu vàng 2'},
  { _id. 58fdbf5c0ef8a50b4cdd9a8c, tên. 'Susan', địa chỉ. 'Một chiều 98'},
  { _id. 58fdbf5c0ef8a50b4cdd9a89, tên. 'Sandy', địa chỉ. 'Ocean blvd 2'},
  { _id. 58fdbf5c0ef8a50b4cdd9a8b, tên. 'Richard', địa chỉ. 'Sky st 331'},
  { _id. 58fdbf5c0ef8a50b4cdd9a85, tên. 'Peter', địa chỉ. 'Lowstreet 4'},
  { _id. 58fdbf5c0ef8a50b4cdd9a88, tên. 'Michael', địa chỉ. 'Thung lũng 345'},
  { _id. 58fdbf5c0ef8a50b4cdd9a84, tên. 'John', địa chỉ. 'Quốc lộ 71'},
  { _id. 58fdbf5c0ef8a50b4cdd9a87, tên. 'Hannah', địa chỉ. 'Núi 21'},
  { _id. 58fdbf5c0ef8a50b4cdd9a90, tên. 'Chuck', địa chỉ. 'Main Road 989'},
  { _id. 58fdbf5c0ef8a50b4cdd9a8a, tên. 'Betty', địa chỉ. 'Green Grass 1'},
  { _id. 58fdbf5c0ef8a50b4cdd9a8e, tên. 'Ben', địa chỉ. 'Công viên ngõ 38'},
  { _id. 58fdbf5c0ef8a50b4cdd9a86, tên. 'Amy', địa chỉ. 'Apple st 652'}
]



MongoDB có hỗ trợ sắp xếp không?

MongoDB có thể thực hiện các thao tác sắp xếp trên chỉ mục một trường theo thứ tự tăng dần hoặc giảm dần . Trong các chỉ mục phức hợp, thứ tự sắp xếp xác định xem chỉ mục có thể được sắp xếp hay không. Các khóa sắp xếp phải được liệt kê theo thứ tự như được xác định trong chỉ mục.

Làm cách nào để sử dụng tìm kiếm chỉ mục trong MongoDB?

Để giúp MongoDB thực hiện truy vấn này, hãy tạo một chỉ mục trên trường tổng trong tài liệu đi lên. .
db. đỉnh. tìm thấy(
{ "đi lên. toàn bộ". { $gt. 300 } }
). sắp xếp ({ "đi lên. toàn bộ". -1 }). giải thích ("executionStats")

Thứ tự chính xác cao nhất đến thấp nhất trong MongoDB là gì?

Khi so sánh giá trị của các loại BSON khác nhau, MongoDB sử dụng thứ tự so sánh sau, từ thấp nhất đến cao nhất. MinKey (loại bên trong) Null. .
MinKey (loại bên trong)
Số (số nguyên, số dài, số nhân đôi, số thập phân)
Biểu tượng, Chuỗi
Sự vật
Mảng
BinData
ID đối tượng

Các chỉ mục ảnh hưởng đến việc sắp xếp trong MongoDB như thế nào?

Vì các chỉ mục chứa các bản ghi được sắp xếp theo thứ tự, nên MongoDB có thể lấy kết quả sắp xếp từ một chỉ mục bao gồm các trường sắp xếp . MongoDB có thể sử dụng nhiều chỉ mục để hỗ trợ thao tác sắp xếp nếu việc sắp xếp sử dụng các chỉ mục giống như vị từ truy vấn.