Tóm lược. trong hướng dẫn này, bạn sẽ học cách sử dụng phương pháp MongoDB
1 để sắp xếp các tài liệu phù hợp được trả về bởi một truy vấn theo thứ tự tăng dần hoặc giảm dầnCode language: CSS [css]
cursor.sort[{field: -1}]
Giới thiệu về phương thức sort[] trong MongoDB
Để chỉ định thứ tự của các tài liệu được trả về bởi một truy vấn, bạn sử dụng phương thức
1Code language: CSS [css]
cursor.sort[{field: -1}]
Code language: HTTP [http]
cursor.sort[{field1: order, field2: order, ...}]
Phương pháp
1 cho phép bạn sắp xếp các tài liệu phù hợp theo một hoặc nhiều trường [Code language: CSS [css]
cursor.sort[{field: -1}]
4,Code language: CSS [css]
cursor.sort[{field: -1}]
5,…] theo thứ tự tăng dần hoặc giảm dầnCode language: CSS [css]
cursor.sort[{field: -1}]
6 nhận hai giá trị.Code language: CSS [css]
cursor.sort[{field: -1}]
7 vàCode language: CSS [css]
cursor.sort[{field: -1}]
8. Nếu bạn chỉ địnhCode language: CSS [css]
cursor.sort[{field: -1}]
9, thìCode language: CSS [css]
cursor.sort[{field: -1}]
1 sẽ sắp xếp các tài liệu phù hợp theoCode language: CSS [css]
cursor.sort[{field: -1}]
1 theo thứ tự tăng dầnCode language: HTTP [http]
cursor.sort[{field1: 1, field2: -1}];
Code language: CSS [css]
cursor.sort[{ field: 1 }]
Nếu bạn chỉ định
2, phương thứcCode language: HTTP [http]
cursor.sort[{field1: 1, field2: -1}];
1 sẽ sắp xếp các tài liệu phù hợp theo thứ tự giảm dần củaCode language: CSS [css]
cursor.sort[{field: -1}]
1
cursor.sort[{field1: 1, field2: -1}];
Code language: HTTP [http]
Code language: CSS [css]
cursor.sort[{field: -1}]
Sau đây sắp xếp các tài liệu được trả lại theo thứ tự tăng dần của
4 và thứ tự giảm dần củaCode language: CSS [css]
cursor.sort[{field: -1}]
5Code language: CSS [css]
cursor.sort[{field: -1}]
Code language: HTTP [http]
cursor.sort[{field1: 1, field2: -1}];
Dễ dàng so sánh các giá trị cùng loại. Tuy nhiên, đây không phải là trường hợp 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 để so sánh các giá trị của các loại BSON khác nhau
- MinKey [loại bên trong]
- Vô giá trị
- Số [số nguyên, số dài, số nhân đôi, số thập phân]
- Biểu tượng, Chuỗi
- Mục tiêu
- Mảng
- BinData
- ID đối tượng
- Boolean
- Ngày
- Dấu thời gian
- Biểu hiện thông thường
- MaxKey [loại bên trong]
Để biết thêm thông tin về thứ tự so sánh/sắp xếp,
Ví dụ về phương thức sort[] của MongoDB
Chúng tôi sẽ sử dụng bộ sưu tập
7 sau đây để minh họa cách thức hoạt động của phương thứcCode language: HTTP [http]
cursor.sort[{field1: 1, field2: -1}];
1Code language: CSS [css]
cursor.sort[{field: -1}]
Code language: JavaScript [javascript]
db.products.insertMany[[ { "_id" : 1, "name" : "xPhone", "price" : 799, "releaseDate" : ISODate["2011-05-14T00:00:00Z"], "spec" : { "ram" : 4, "screen" : 6.5, "cpu" : 2.66 }, "color" : [ "white", "black" ], "storage" : [ 64, 128, 256 ] }, { "_id" : 2, "name" : "xTablet", "price" : 899, "releaseDate" : ISODate["2011-09-01T00:00:00Z"], "spec" : { "ram" : 16, "screen" : 9.5, "cpu" : 3.66 }, "color" : [ "white", "black", "purple" ], "storage" : [ 128, 256, 512 ] }, { "_id" : 3, "name" : "SmartTablet", "price" : 899, "releaseDate" : ISODate["2015-01-14T00:00:00Z"], "spec" : { "ram" : 12, "screen" : 9.7, "cpu" : 3.66 }, "color" : [ "blue" ], "storage" : [ 16, 64, 128 ] }, { "_id" : 4, "name" : "SmartPad", "price" : 699, "releaseDate" : ISODate["2020-05-14T00:00:00Z"], "spec" : { "ram" : 8, "screen" : 9.7, "cpu" : 1.66 }, "color" : [ "white", "orange", "gold", "gray" ], "storage" : [ 128, 256, 1024 ] }, { "_id" : 5, "name" : "SmartPhone", "price" : 599, "releaseDate" : ISODate["2022-09-14T00:00:00Z"], "spec" : { "ram" : 4, "screen" : 9.7, "cpu" : 1.66 }, "color" : [ "white", "orange", "gold", "gray" ], "storage" : [ 128, 256 ] }, { "_id" : 6, "name" : "xWidget", "spec" : { "ram" : 64, "screen" : 9.7, "cpu" : 3.66 }, "color" : [ "black" ], "storage" : [ 1024 ] }, { "_id" : 7, "name" : "xReader", "price" : null, "spec" : { "ram" : 64, "screen" : 6.7, "cpu" : 3.66 }, "color" : [ "black", "white" ], "storage" : [ 128 ] } ]]
1] Ví dụ sắp xếp tài liệu theo một trường
Truy vấn sau trả về tất cả các tài liệu từ bộ sưu tập
7 nơi tồn tại trườngCode language: HTTP [http]
cursor.sort[{field1: 1, field2: -1}];
0. Đối với mỗi tài liệu, nó chọn các trườngCode language: JavaScript [javascript]
db.products.insertMany[[ { "_id" : 1, "name" : "xPhone", "price" : 799, "releaseDate" : ISODate["2011-05-14T00:00:00Z"], "spec" : { "ram" : 4, "screen" : 6.5, "cpu" : 2.66 }, "color" : [ "white", "black" ], "storage" : [ 64, 128, 256 ] }, { "_id" : 2, "name" : "xTablet", "price" : 899, "releaseDate" : ISODate["2011-09-01T00:00:00Z"], "spec" : { "ram" : 16, "screen" : 9.5, "cpu" : 3.66 }, "color" : [ "white", "black", "purple" ], "storage" : [ 128, 256, 512 ] }, { "_id" : 3, "name" : "SmartTablet", "price" : 899, "releaseDate" : ISODate["2015-01-14T00:00:00Z"], "spec" : { "ram" : 12, "screen" : 9.7, "cpu" : 3.66 }, "color" : [ "blue" ], "storage" : [ 16, 64, 128 ] }, { "_id" : 4, "name" : "SmartPad", "price" : 699, "releaseDate" : ISODate["2020-05-14T00:00:00Z"], "spec" : { "ram" : 8, "screen" : 9.7, "cpu" : 1.66 }, "color" : [ "white", "orange", "gold", "gray" ], "storage" : [ 128, 256, 1024 ] }, { "_id" : 5, "name" : "SmartPhone", "price" : 599, "releaseDate" : ISODate["2022-09-14T00:00:00Z"], "spec" : { "ram" : 4, "screen" : 9.7, "cpu" : 1.66 }, "color" : [ "white", "orange", "gold", "gray" ], "storage" : [ 128, 256 ] }, { "_id" : 6, "name" : "xWidget", "spec" : { "ram" : 64, "screen" : 9.7, "cpu" : 3.66 }, "color" : [ "black" ], "storage" : [ 1024 ] }, { "_id" : 7, "name" : "xReader", "price" : null, "spec" : { "ram" : 64, "screen" : 6.7, "cpu" : 3.66 }, "color" : [ "black", "white" ], "storage" : [ 128 ] } ]]
1,Code language: JavaScript [javascript]
db.products.insertMany[[ { "_id" : 1, "name" : "xPhone", "price" : 799, "releaseDate" : ISODate["2011-05-14T00:00:00Z"], "spec" : { "ram" : 4, "screen" : 6.5, "cpu" : 2.66 }, "color" : [ "white", "black" ], "storage" : [ 64, 128, 256 ] }, { "_id" : 2, "name" : "xTablet", "price" : 899, "releaseDate" : ISODate["2011-09-01T00:00:00Z"], "spec" : { "ram" : 16, "screen" : 9.5, "cpu" : 3.66 }, "color" : [ "white", "black", "purple" ], "storage" : [ 128, 256, 512 ] }, { "_id" : 3, "name" : "SmartTablet", "price" : 899, "releaseDate" : ISODate["2015-01-14T00:00:00Z"], "spec" : { "ram" : 12, "screen" : 9.7, "cpu" : 3.66 }, "color" : [ "blue" ], "storage" : [ 16, 64, 128 ] }, { "_id" : 4, "name" : "SmartPad", "price" : 699, "releaseDate" : ISODate["2020-05-14T00:00:00Z"], "spec" : { "ram" : 8, "screen" : 9.7, "cpu" : 1.66 }, "color" : [ "white", "orange", "gold", "gray" ], "storage" : [ 128, 256, 1024 ] }, { "_id" : 5, "name" : "SmartPhone", "price" : 599, "releaseDate" : ISODate["2022-09-14T00:00:00Z"], "spec" : { "ram" : 4, "screen" : 9.7, "cpu" : 1.66 }, "color" : [ "white", "orange", "gold", "gray" ], "storage" : [ 128, 256 ] }, { "_id" : 6, "name" : "xWidget", "spec" : { "ram" : 64, "screen" : 9.7, "cpu" : 3.66 }, "color" : [ "black" ], "storage" : [ 1024 ] }, { "_id" : 7, "name" : "xReader", "price" : null, "spec" : { "ram" : 64, "screen" : 6.7, "cpu" : 3.66 }, "color" : [ "black", "white" ], "storage" : [ 128 ] } ]]
2 vàCode language: JavaScript [javascript]
db.products.insertMany[[ { "_id" : 1, "name" : "xPhone", "price" : 799, "releaseDate" : ISODate["2011-05-14T00:00:00Z"], "spec" : { "ram" : 4, "screen" : 6.5, "cpu" : 2.66 }, "color" : [ "white", "black" ], "storage" : [ 64, 128, 256 ] }, { "_id" : 2, "name" : "xTablet", "price" : 899, "releaseDate" : ISODate["2011-09-01T00:00:00Z"], "spec" : { "ram" : 16, "screen" : 9.5, "cpu" : 3.66 }, "color" : [ "white", "black", "purple" ], "storage" : [ 128, 256, 512 ] }, { "_id" : 3, "name" : "SmartTablet", "price" : 899, "releaseDate" : ISODate["2015-01-14T00:00:00Z"], "spec" : { "ram" : 12, "screen" : 9.7, "cpu" : 3.66 }, "color" : [ "blue" ], "storage" : [ 16, 64, 128 ] }, { "_id" : 4, "name" : "SmartPad", "price" : 699, "releaseDate" : ISODate["2020-05-14T00:00:00Z"], "spec" : { "ram" : 8, "screen" : 9.7, "cpu" : 1.66 }, "color" : [ "white", "orange", "gold", "gray" ], "storage" : [ 128, 256, 1024 ] }, { "_id" : 5, "name" : "SmartPhone", "price" : 599, "releaseDate" : ISODate["2022-09-14T00:00:00Z"], "spec" : { "ram" : 4, "screen" : 9.7, "cpu" : 1.66 }, "color" : [ "white", "orange", "gold", "gray" ], "storage" : [ 128, 256 ] }, { "_id" : 6, "name" : "xWidget", "spec" : { "ram" : 64, "screen" : 9.7, "cpu" : 3.66 }, "color" : [ "black" ], "storage" : [ 1024 ] }, { "_id" : 7, "name" : "xReader", "price" : null, "spec" : { "ram" : 64, "screen" : 6.7, "cpu" : 3.66 }, "color" : [ "black", "white" ], "storage" : [ 128 ] } ]]
0Code language: JavaScript [javascript]
db.products.insertMany[[ { "_id" : 1, "name" : "xPhone", "price" : 799, "releaseDate" : ISODate["2011-05-14T00:00:00Z"], "spec" : { "ram" : 4, "screen" : 6.5, "cpu" : 2.66 }, "color" : [ "white", "black" ], "storage" : [ 64, 128, 256 ] }, { "_id" : 2, "name" : "xTablet", "price" : 899, "releaseDate" : ISODate["2011-09-01T00:00:00Z"], "spec" : { "ram" : 16, "screen" : 9.5, "cpu" : 3.66 }, "color" : [ "white", "black", "purple" ], "storage" : [ 128, 256, 512 ] }, { "_id" : 3, "name" : "SmartTablet", "price" : 899, "releaseDate" : ISODate["2015-01-14T00:00:00Z"], "spec" : { "ram" : 12, "screen" : 9.7, "cpu" : 3.66 }, "color" : [ "blue" ], "storage" : [ 16, 64, 128 ] }, { "_id" : 4, "name" : "SmartPad", "price" : 699, "releaseDate" : ISODate["2020-05-14T00:00:00Z"], "spec" : { "ram" : 8, "screen" : 9.7, "cpu" : 1.66 }, "color" : [ "white", "orange", "gold", "gray" ], "storage" : [ 128, 256, 1024 ] }, { "_id" : 5, "name" : "SmartPhone", "price" : 599, "releaseDate" : ISODate["2022-09-14T00:00:00Z"], "spec" : { "ram" : 4, "screen" : 9.7, "cpu" : 1.66 }, "color" : [ "white", "orange", "gold", "gray" ], "storage" : [ 128, 256 ] }, { "_id" : 6, "name" : "xWidget", "spec" : { "ram" : 64, "screen" : 9.7, "cpu" : 3.66 }, "color" : [ "black" ], "storage" : [ 1024 ] }, { "_id" : 7, "name" : "xReader", "price" : null, "spec" : { "ram" : 64, "screen" : 6.7, "cpu" : 3.66 }, "color" : [ "black", "white" ], "storage" : [ 128 ] } ]]
db.products.find[{ 'price': { $exists: 1 } }, { name: 1, price: 1 }]
Code language: PHP [php]
đầu ra
Code language: JavaScript [javascript]
[ { _id: 1, name: 'xPhone', price: 799 }, { _id: 2, name: 'xTablet', price: 899 }, { _id: 3, name: 'SmartTablet', price: 899 }, { _id: 4, name: 'SmartPad', price: 699 }, { _id: 5, name: 'SmartPhone', price: 599 }, { _id: 7, name: 'xReader', price: null } ]
Để sắp xếp các sản phẩm theo giá tăng dần, bạn sử dụng phương pháp
1 như thế nàyCode language: CSS [css]
cursor.sort[{field: -1}]
Code language: PHP [php]
db.products.find[{ 'price': { $exists: 1 } }, { name: 1, price: 1 }].sort[{ price: 1 }]
đầu ra
Code language: JavaScript [javascript]
[ { _id: 7, name: 'xReader', price: null }, { _id: 5, name: 'SmartPhone', price: 599 }, { _id: 4, name: 'SmartPad', price: 699 }, { _id: 1, name: 'xPhone', price: 799 }, { _id: 2, name: 'xTablet', price: 899 }, { _id: 3, name: 'SmartTablet', price: 899 } ]
Trong ví dụ này, phương pháp
1 đặt tài liệu có giá làCode language: CSS [css]
cursor.sort[{field: -1}]
6 trước, sau đó là tài liệu có giá từ thấp nhất đến cao nhấtCode language: JavaScript [javascript]
db.products.insertMany[[ { "_id" : 1, "name" : "xPhone", "price" : 799, "releaseDate" : ISODate["2011-05-14T00:00:00Z"], "spec" : { "ram" : 4, "screen" : 6.5, "cpu" : 2.66 }, "color" : [ "white", "black" ], "storage" : [ 64, 128, 256 ] }, { "_id" : 2, "name" : "xTablet", "price" : 899, "releaseDate" : ISODate["2011-09-01T00:00:00Z"], "spec" : { "ram" : 16, "screen" : 9.5, "cpu" : 3.66 }, "color" : [ "white", "black", "purple" ], "storage" : [ 128, 256, 512 ] }, { "_id" : 3, "name" : "SmartTablet", "price" : 899, "releaseDate" : ISODate["2015-01-14T00:00:00Z"], "spec" : { "ram" : 12, "screen" : 9.7, "cpu" : 3.66 }, "color" : [ "blue" ], "storage" : [ 16, 64, 128 ] }, { "_id" : 4, "name" : "SmartPad", "price" : 699, "releaseDate" : ISODate["2020-05-14T00:00:00Z"], "spec" : { "ram" : 8, "screen" : 9.7, "cpu" : 1.66 }, "color" : [ "white", "orange", "gold", "gray" ], "storage" : [ 128, 256, 1024 ] }, { "_id" : 5, "name" : "SmartPhone", "price" : 599, "releaseDate" : ISODate["2022-09-14T00:00:00Z"], "spec" : { "ram" : 4, "screen" : 9.7, "cpu" : 1.66 }, "color" : [ "white", "orange", "gold", "gray" ], "storage" : [ 128, 256 ] }, { "_id" : 6, "name" : "xWidget", "spec" : { "ram" : 64, "screen" : 9.7, "cpu" : 3.66 }, "color" : [ "black" ], "storage" : [ 1024 ] }, { "_id" : 7, "name" : "xReader", "price" : null, "spec" : { "ram" : 64, "screen" : 6.7, "cpu" : 3.66 }, "color" : [ "black", "white" ], "storage" : [ 128 ] } ]]
Để sắp xếp các tài liệu theo thứ tự giảm dần, bạn thay đổi giá trị của trường giá thành
8 như được hiển thị trong truy vấn sauCode language: CSS [css]
cursor.sort[{field: -1}]
Code language: PHP [php]
db.products.find[{ 'price': { $exists: 1 } }, { name: 1, price: 1 }].sort[{ price: -1 }]
đầu ra
0Code language: CSS [css]
cursor.sort[{ field: 1 }]
Trong ví dụ này, phương pháp
1 đặt tài liệu có giá cao nhất trước và tài liệu có giáCode language: CSS [css]
cursor.sort[{field: -1}]
6 cuối cùng. [Xem thứ tự sắp xếp ở trên]Code language: JavaScript [javascript]
db.products.insertMany[[ { "_id" : 1, "name" : "xPhone", "price" : 799, "releaseDate" : ISODate["2011-05-14T00:00:00Z"], "spec" : { "ram" : 4, "screen" : 6.5, "cpu" : 2.66 }, "color" : [ "white", "black" ], "storage" : [ 64, 128, 256 ] }, { "_id" : 2, "name" : "xTablet", "price" : 899, "releaseDate" : ISODate["2011-09-01T00:00:00Z"], "spec" : { "ram" : 16, "screen" : 9.5, "cpu" : 3.66 }, "color" : [ "white", "black", "purple" ], "storage" : [ 128, 256, 512 ] }, { "_id" : 3, "name" : "SmartTablet", "price" : 899, "releaseDate" : ISODate["2015-01-14T00:00:00Z"], "spec" : { "ram" : 12, "screen" : 9.7, "cpu" : 3.66 }, "color" : [ "blue" ], "storage" : [ 16, 64, 128 ] }, { "_id" : 4, "name" : "SmartPad", "price" : 699, "releaseDate" : ISODate["2020-05-14T00:00:00Z"], "spec" : { "ram" : 8, "screen" : 9.7, "cpu" : 1.66 }, "color" : [ "white", "orange", "gold", "gray" ], "storage" : [ 128, 256, 1024 ] }, { "_id" : 5, "name" : "SmartPhone", "price" : 599, "releaseDate" : ISODate["2022-09-14T00:00:00Z"], "spec" : { "ram" : 4, "screen" : 9.7, "cpu" : 1.66 }, "color" : [ "white", "orange", "gold", "gray" ], "storage" : [ 128, 256 ] }, { "_id" : 6, "name" : "xWidget", "spec" : { "ram" : 64, "screen" : 9.7, "cpu" : 3.66 }, "color" : [ "black" ], "storage" : [ 1024 ] }, { "_id" : 7, "name" : "xReader", "price" : null, "spec" : { "ram" : 64, "screen" : 6.7, "cpu" : 3.66 }, "color" : [ "black", "white" ], "storage" : [ 128 ] } ]]
2] Ví dụ sắp xếp tài liệu theo hai hoặc nhiều trường
Ví dụ sau sử dụng phương thức
1 để sắp xếp sản phẩm theo tên và giá theo thứ tự tăng dần. Nó chỉ chọn những tài liệu có trườngCode language: CSS [css]
cursor.sort[{field: -1}]
0 và bao gồm các trường
db.products.insertMany[[ { "_id" : 1, "name" : "xPhone", "price" : 799, "releaseDate" : ISODate["2011-05-14T00:00:00Z"], "spec" : { "ram" : 4, "screen" : 6.5, "cpu" : 2.66 }, "color" : [ "white", "black" ], "storage" : [ 64, 128, 256 ] }, { "_id" : 2, "name" : "xTablet", "price" : 899, "releaseDate" : ISODate["2011-09-01T00:00:00Z"], "spec" : { "ram" : 16, "screen" : 9.5, "cpu" : 3.66 }, "color" : [ "white", "black", "purple" ], "storage" : [ 128, 256, 512 ] }, { "_id" : 3, "name" : "SmartTablet", "price" : 899, "releaseDate" : ISODate["2015-01-14T00:00:00Z"], "spec" : { "ram" : 12, "screen" : 9.7, "cpu" : 3.66 }, "color" : [ "blue" ], "storage" : [ 16, 64, 128 ] }, { "_id" : 4, "name" : "SmartPad", "price" : 699, "releaseDate" : ISODate["2020-05-14T00:00:00Z"], "spec" : { "ram" : 8, "screen" : 9.7, "cpu" : 1.66 }, "color" : [ "white", "orange", "gold", "gray" ], "storage" : [ 128, 256, 1024 ] }, { "_id" : 5, "name" : "SmartPhone", "price" : 599, "releaseDate" : ISODate["2022-09-14T00:00:00Z"], "spec" : { "ram" : 4, "screen" : 9.7, "cpu" : 1.66 }, "color" : [ "white", "orange", "gold", "gray" ], "storage" : [ 128, 256 ] }, { "_id" : 6, "name" : "xWidget", "spec" : { "ram" : 64, "screen" : 9.7, "cpu" : 3.66 }, "color" : [ "black" ], "storage" : [ 1024 ] }, { "_id" : 7, "name" : "xReader", "price" : null, "spec" : { "ram" : 64, "screen" : 6.7, "cpu" : 3.66 }, "color" : [ "black", "white" ], "storage" : [ 128 ] } ]]
Code language: JavaScript [javascript]
1,Code language: JavaScript [javascript]
db.products.insertMany[[ { "_id" : 1, "name" : "xPhone", "price" : 799, "releaseDate" : ISODate["2011-05-14T00:00:00Z"], "spec" : { "ram" : 4, "screen" : 6.5, "cpu" : 2.66 }, "color" : [ "white", "black" ], "storage" : [ 64, 128, 256 ] }, { "_id" : 2, "name" : "xTablet", "price" : 899, "releaseDate" : ISODate["2011-09-01T00:00:00Z"], "spec" : { "ram" : 16, "screen" : 9.5, "cpu" : 3.66 }, "color" : [ "white", "black", "purple" ], "storage" : [ 128, 256, 512 ] }, { "_id" : 3, "name" : "SmartTablet", "price" : 899, "releaseDate" : ISODate["2015-01-14T00:00:00Z"], "spec" : { "ram" : 12, "screen" : 9.7, "cpu" : 3.66 }, "color" : [ "blue" ], "storage" : [ 16, 64, 128 ] }, { "_id" : 4, "name" : "SmartPad", "price" : 699, "releaseDate" : ISODate["2020-05-14T00:00:00Z"], "spec" : { "ram" : 8, "screen" : 9.7, "cpu" : 1.66 }, "color" : [ "white", "orange", "gold", "gray" ], "storage" : [ 128, 256, 1024 ] }, { "_id" : 5, "name" : "SmartPhone", "price" : 599, "releaseDate" : ISODate["2022-09-14T00:00:00Z"], "spec" : { "ram" : 4, "screen" : 9.7, "cpu" : 1.66 }, "color" : [ "white", "orange", "gold", "gray" ], "storage" : [ 128, 256 ] }, { "_id" : 6, "name" : "xWidget", "spec" : { "ram" : 64, "screen" : 9.7, "cpu" : 3.66 }, "color" : [ "black" ], "storage" : [ 1024 ] }, { "_id" : 7, "name" : "xReader", "price" : null, "spec" : { "ram" : 64, "screen" : 6.7, "cpu" : 3.66 }, "color" : [ "black", "white" ], "storage" : [ 128 ] } ]]
2 vàCode language: JavaScript [javascript]
db.products.insertMany[[ { "_id" : 1, "name" : "xPhone", "price" : 799, "releaseDate" : ISODate["2011-05-14T00:00:00Z"], "spec" : { "ram" : 4, "screen" : 6.5, "cpu" : 2.66 }, "color" : [ "white", "black" ], "storage" : [ 64, 128, 256 ] }, { "_id" : 2, "name" : "xTablet", "price" : 899, "releaseDate" : ISODate["2011-09-01T00:00:00Z"], "spec" : { "ram" : 16, "screen" : 9.5, "cpu" : 3.66 }, "color" : [ "white", "black", "purple" ], "storage" : [ 128, 256, 512 ] }, { "_id" : 3, "name" : "SmartTablet", "price" : 899, "releaseDate" : ISODate["2015-01-14T00:00:00Z"], "spec" : { "ram" : 12, "screen" : 9.7, "cpu" : 3.66 }, "color" : [ "blue" ], "storage" : [ 16, 64, 128 ] }, { "_id" : 4, "name" : "SmartPad", "price" : 699, "releaseDate" : ISODate["2020-05-14T00:00:00Z"], "spec" : { "ram" : 8, "screen" : 9.7, "cpu" : 1.66 }, "color" : [ "white", "orange", "gold", "gray" ], "storage" : [ 128, 256, 1024 ] }, { "_id" : 5, "name" : "SmartPhone", "price" : 599, "releaseDate" : ISODate["2022-09-14T00:00:00Z"], "spec" : { "ram" : 4, "screen" : 9.7, "cpu" : 1.66 }, "color" : [ "white", "orange", "gold", "gray" ], "storage" : [ 128, 256 ] }, { "_id" : 6, "name" : "xWidget", "spec" : { "ram" : 64, "screen" : 9.7, "cpu" : 3.66 }, "color" : [ "black" ], "storage" : [ 1024 ] }, { "_id" : 7, "name" : "xReader", "price" : null, "spec" : { "ram" : 64, "screen" : 6.7, "cpu" : 3.66 }, "color" : [ "black", "white" ], "storage" : [ 128 ] } ]]
0 trong các tài liệu phù hợpCode language: JavaScript [javascript]
db.products.insertMany[[ { "_id" : 1, "name" : "xPhone", "price" : 799, "releaseDate" : ISODate["2011-05-14T00:00:00Z"], "spec" : { "ram" : 4, "screen" : 6.5, "cpu" : 2.66 }, "color" : [ "white", "black" ], "storage" : [ 64, 128, 256 ] }, { "_id" : 2, "name" : "xTablet", "price" : 899, "releaseDate" : ISODate["2011-09-01T00:00:00Z"], "spec" : { "ram" : 16, "screen" : 9.5, "cpu" : 3.66 }, "color" : [ "white", "black", "purple" ], "storage" : [ 128, 256, 512 ] }, { "_id" : 3, "name" : "SmartTablet", "price" : 899, "releaseDate" : ISODate["2015-01-14T00:00:00Z"], "spec" : { "ram" : 12, "screen" : 9.7, "cpu" : 3.66 }, "color" : [ "blue" ], "storage" : [ 16, 64, 128 ] }, { "_id" : 4, "name" : "SmartPad", "price" : 699, "releaseDate" : ISODate["2020-05-14T00:00:00Z"], "spec" : { "ram" : 8, "screen" : 9.7, "cpu" : 1.66 }, "color" : [ "white", "orange", "gold", "gray" ], "storage" : [ 128, 256, 1024 ] }, { "_id" : 5, "name" : "SmartPhone", "price" : 599, "releaseDate" : ISODate["2022-09-14T00:00:00Z"], "spec" : { "ram" : 4, "screen" : 9.7, "cpu" : 1.66 }, "color" : [ "white", "orange", "gold", "gray" ], "storage" : [ 128, 256 ] }, { "_id" : 6, "name" : "xWidget", "spec" : { "ram" : 64, "screen" : 9.7, "cpu" : 3.66 }, "color" : [ "black" ], "storage" : [ 1024 ] }, { "_id" : 7, "name" : "xReader", "price" : null, "spec" : { "ram" : 64, "screen" : 6.7, "cpu" : 3.66 }, "color" : [ "black", "white" ], "storage" : [ 128 ] } ]]
1Code language: CSS [css]
cursor.sort[{ field: 1 }]
đầu ra
2Code language: CSS [css]
cursor.sort[{ field: 1 }]
Trong ví dụ này, phương pháp
1 sắp xếp sản phẩm theo giá trước. Sau đó, nó sắp xếp kết quả được sắp xếp theo tênCode language: CSS [css]
cursor.sort[{field: -1}]
Nếu quan sát kỹ hơn tập kết quả, bạn sẽ thấy rằng các sản phẩm có tên
1 3 và 2 có cùng mức giáCode language: JavaScript [javascript]
db.products.insertMany[[ { "_id" : 1, "name" : "xPhone", "price" : 799, "releaseDate" : ISODate["2011-05-14T00:00:00Z"], "spec" : { "ram" : 4, "screen" : 6.5, "cpu" : 2.66 }, "color" : [ "white", "black" ], "storage" : [ 64, 128, 256 ] }, { "_id" : 2, "name" : "xTablet", "price" : 899, "releaseDate" : ISODate["2011-09-01T00:00:00Z"], "spec" : { "ram" : 16, "screen" : 9.5, "cpu" : 3.66 }, "color" : [ "white", "black", "purple" ], "storage" : [ 128, 256, 512 ] }, { "_id" : 3, "name" : "SmartTablet", "price" : 899, "releaseDate" : ISODate["2015-01-14T00:00:00Z"], "spec" : { "ram" : 12, "screen" : 9.7, "cpu" : 3.66 }, "color" : [ "blue" ], "storage" : [ 16, 64, 128 ] }, { "_id" : 4, "name" : "SmartPad", "price" : 699, "releaseDate" : ISODate["2020-05-14T00:00:00Z"], "spec" : { "ram" : 8, "screen" : 9.7, "cpu" : 1.66 }, "color" : [ "white", "orange", "gold", "gray" ], "storage" : [ 128, 256, 1024 ] }, { "_id" : 5, "name" : "SmartPhone", "price" : 599, "releaseDate" : ISODate["2022-09-14T00:00:00Z"], "spec" : { "ram" : 4, "screen" : 9.7, "cpu" : 1.66 }, "color" : [ "white", "orange", "gold", "gray" ], "storage" : [ 128, 256 ] }, { "_id" : 6, "name" : "xWidget", "spec" : { "ram" : 64, "screen" : 9.7, "cpu" : 3.66 }, "color" : [ "black" ], "storage" : [ 1024 ] }, { "_id" : 7, "name" : "xReader", "price" : null, "spec" : { "ram" : 64, "screen" : 6.7, "cpu" : 3.66 }, "color" : [ "black", "white" ], "storage" : [ 128 ] } ]]
7. Phương thứcCode language: PHP [php]
db.products.find[{ 'price': { $exists: 1 } }, { name: 1, price: 1 }]
1 đặtCode language: CSS [css]
cursor.sort[{field: -1}]
9 trướcCode language: PHP [php]
db.products.find[{ 'price': { $exists: 1 } }, { name: 1, price: 1 }]
0 dựa trên thứ tự tăng dần được chỉ định bởi trườngCode language: JavaScript [javascript]
[ { _id: 1, name: 'xPhone', price: 799 }, { _id: 2, name: 'xTablet', price: 899 }, { _id: 3, name: 'SmartTablet', price: 899 }, { _id: 4, name: 'SmartPad', price: 699 }, { _id: 5, name: 'SmartPhone', price: 599 }, { _id: 7, name: 'xReader', price: null } ]
2Code language: JavaScript [javascript]
db.products.insertMany[[ { "_id" : 1, "name" : "xPhone", "price" : 799, "releaseDate" : ISODate["2011-05-14T00:00:00Z"], "spec" : { "ram" : 4, "screen" : 6.5, "cpu" : 2.66 }, "color" : [ "white", "black" ], "storage" : [ 64, 128, 256 ] }, { "_id" : 2, "name" : "xTablet", "price" : 899, "releaseDate" : ISODate["2011-09-01T00:00:00Z"], "spec" : { "ram" : 16, "screen" : 9.5, "cpu" : 3.66 }, "color" : [ "white", "black", "purple" ], "storage" : [ 128, 256, 512 ] }, { "_id" : 3, "name" : "SmartTablet", "price" : 899, "releaseDate" : ISODate["2015-01-14T00:00:00Z"], "spec" : { "ram" : 12, "screen" : 9.7, "cpu" : 3.66 }, "color" : [ "blue" ], "storage" : [ 16, 64, 128 ] }, { "_id" : 4, "name" : "SmartPad", "price" : 699, "releaseDate" : ISODate["2020-05-14T00:00:00Z"], "spec" : { "ram" : 8, "screen" : 9.7, "cpu" : 1.66 }, "color" : [ "white", "orange", "gold", "gray" ], "storage" : [ 128, 256, 1024 ] }, { "_id" : 5, "name" : "SmartPhone", "price" : 599, "releaseDate" : ISODate["2022-09-14T00:00:00Z"], "spec" : { "ram" : 4, "screen" : 9.7, "cpu" : 1.66 }, "color" : [ "white", "orange", "gold", "gray" ], "storage" : [ 128, 256 ] }, { "_id" : 6, "name" : "xWidget", "spec" : { "ram" : 64, "screen" : 9.7, "cpu" : 3.66 }, "color" : [ "black" ], "storage" : [ 1024 ] }, { "_id" : 7, "name" : "xReader", "price" : null, "spec" : { "ram" : 64, "screen" : 6.7, "cpu" : 3.66 }, "color" : [ "black", "white" ], "storage" : [ 128 ] } ]]
Ví dụ sau đây sắp xếp các sản phẩm theo các giá trị trong trường
5 trong tài liệu nhúngCode language: PHP [php]
db.products.find[{ 'price': { $exists: 1 } }, { name: 1, price: 1 }].sort[{ price: 1 }]
6. Nó bao gồm các trườngCode language: PHP [php]
db.products.find[{ 'price': { $exists: 1 } }, { name: 1, price: 1 }].sort[{ price: 1 }]
1,Code language: JavaScript [javascript]
db.products.insertMany[[ { "_id" : 1, "name" : "xPhone", "price" : 799, "releaseDate" : ISODate["2011-05-14T00:00:00Z"], "spec" : { "ram" : 4, "screen" : 6.5, "cpu" : 2.66 }, "color" : [ "white", "black" ], "storage" : [ 64, 128, 256 ] }, { "_id" : 2, "name" : "xTablet", "price" : 899, "releaseDate" : ISODate["2011-09-01T00:00:00Z"], "spec" : { "ram" : 16, "screen" : 9.5, "cpu" : 3.66 }, "color" : [ "white", "black", "purple" ], "storage" : [ 128, 256, 512 ] }, { "_id" : 3, "name" : "SmartTablet", "price" : 899, "releaseDate" : ISODate["2015-01-14T00:00:00Z"], "spec" : { "ram" : 12, "screen" : 9.7, "cpu" : 3.66 }, "color" : [ "blue" ], "storage" : [ 16, 64, 128 ] }, { "_id" : 4, "name" : "SmartPad", "price" : 699, "releaseDate" : ISODate["2020-05-14T00:00:00Z"], "spec" : { "ram" : 8, "screen" : 9.7, "cpu" : 1.66 }, "color" : [ "white", "orange", "gold", "gray" ], "storage" : [ 128, 256, 1024 ] }, { "_id" : 5, "name" : "SmartPhone", "price" : 599, "releaseDate" : ISODate["2022-09-14T00:00:00Z"], "spec" : { "ram" : 4, "screen" : 9.7, "cpu" : 1.66 }, "color" : [ "white", "orange", "gold", "gray" ], "storage" : [ 128, 256 ] }, { "_id" : 6, "name" : "xWidget", "spec" : { "ram" : 64, "screen" : 9.7, "cpu" : 3.66 }, "color" : [ "black" ], "storage" : [ 1024 ] }, { "_id" : 7, "name" : "xReader", "price" : null, "spec" : { "ram" : 64, "screen" : 6.7, "cpu" : 3.66 }, "color" : [ "black", "white" ], "storage" : [ 128 ] } ]]
2 vàCode language: JavaScript [javascript]
db.products.insertMany[[ { "_id" : 1, "name" : "xPhone", "price" : 799, "releaseDate" : ISODate["2011-05-14T00:00:00Z"], "spec" : { "ram" : 4, "screen" : 6.5, "cpu" : 2.66 }, "color" : [ "white", "black" ], "storage" : [ 64, 128, 256 ] }, { "_id" : 2, "name" : "xTablet", "price" : 899, "releaseDate" : ISODate["2011-09-01T00:00:00Z"], "spec" : { "ram" : 16, "screen" : 9.5, "cpu" : 3.66 }, "color" : [ "white", "black", "purple" ], "storage" : [ 128, 256, 512 ] }, { "_id" : 3, "name" : "SmartTablet", "price" : 899, "releaseDate" : ISODate["2015-01-14T00:00:00Z"], "spec" : { "ram" : 12, "screen" : 9.7, "cpu" : 3.66 }, "color" : [ "blue" ], "storage" : [ 16, 64, 128 ] }, { "_id" : 4, "name" : "SmartPad", "price" : 699, "releaseDate" : ISODate["2020-05-14T00:00:00Z"], "spec" : { "ram" : 8, "screen" : 9.7, "cpu" : 1.66 }, "color" : [ "white", "orange", "gold", "gray" ], "storage" : [ 128, 256, 1024 ] }, { "_id" : 5, "name" : "SmartPhone", "price" : 599, "releaseDate" : ISODate["2022-09-14T00:00:00Z"], "spec" : { "ram" : 4, "screen" : 9.7, "cpu" : 1.66 }, "color" : [ "white", "orange", "gold", "gray" ], "storage" : [ 128, 256 ] }, { "_id" : 6, "name" : "xWidget", "spec" : { "ram" : 64, "screen" : 9.7, "cpu" : 3.66 }, "color" : [ "black" ], "storage" : [ 1024 ] }, { "_id" : 7, "name" : "xReader", "price" : null, "spec" : { "ram" : 64, "screen" : 6.7, "cpu" : 3.66 }, "color" : [ "black", "white" ], "storage" : [ 128 ] } ]]
6 trong các tài liệu phù hợpCode language: PHP [php]
db.products.find[{ 'price': { $exists: 1 } }, { name: 1, price: 1 }].sort[{ price: 1 }]