Tài liệu về nhà → Hướng dẫn sử dụng MongoDB → MongoDB Manual { | input: <array-of-documents>, | sortBy: { <document-field>: {sort-direction> } | } |
5
Mới trong phiên bản 5.2. Sắp xếp một mảng dựa trên các yếu tố của nó. Thứ tự sắp xếp là người dùng được chỉ định. { | input: <array-of-documents>, | sortBy: { <document-field>: {sort-direction> } | } |
5 có cú pháp sau: has the following syntax:
$sortArray: { | input: <array>, | sortBy: <sort spec> | } |
Đồng ruộng | Loại hình | Sự mô tả |
---|
{ | input: <array-of-documents>, | sortBy: { <document-field>: {sort-direction> } | } |
7
| biểu hiện
|
Các mảng được sắp xếp. Kết quả là { | input: <array-of-documents>, | sortBy: { <document-field>: {sort-direction> } | } |
8 nếu biểu thức:bị mất tích Đánh giá thành { | input: <array-of-documents>, | sortBy: { <document-field>: {sort-direction> } | } |
8Đánh giá đến { | input: <array-of-documents>, | sortBy: { sort-direction> } | } |
0
Nếu biểu thức đánh giá theo bất kỳ giá trị không phải nào khác, tài liệu sẽ trả về lỗi.
| { | input: <array-of-documents>, | sortBy: { sort-direction> } | } |
1
| tài liệu
| Tài liệu chỉ định một thứ tự sắp xếp.
|
Biểu thức { | input: <array-of-documents>, | sortBy: { <document-field>: {sort-direction> } | } |
5 đặt hàng mảng { | input: <array-of-documents>, | sortBy: { <document-field>: {sort-direction> } | } |
7 theo đặc tả { | input: <array-of-documents>, | sortBy: { sort-direction> } | } |
1.{ | input: <array-of-documents>, | sortBy: { <document-field>: {sort-direction> } | } |
5 expression orders the { | input: <array-of-documents>, | sortBy: { <document-field>: {sort-direction> } | } |
7 array according to the { | input: <array-of-documents>, | sortBy: { sort-direction> } | } |
1 specification.Cú pháp và ngữ nghĩa { | input: <array-of-documents>, | sortBy: { <document-field>: {sort-direction> } | } |
5 giống như hành vi trong hoạt động { | input: <array-of-documents>, | sortBy: { sort-direction> } | } |
6 được sửa đổi bởi { | input: <array-of-documents>, | sortBy: { sort-direction> } | } |
7{ | input: <array-of-documents>, | sortBy: { <document-field>: {sort-direction> } | } |
5 syntax and
semantics are the same as the behavior in a { | input: <array-of-documents>, | sortBy: { sort-direction> } | } |
6 operation modified by { | input: <array-of-documents>, | sortBy: { sort-direction> } | } |
7Nếu các phần tử mảng là tài liệu, bạn có thể sắp xếp theo trường tài liệu. Chỉ định tên trường và hướng sắp xếp, tăng dần ( { | input: <array-of-documents>, | sortBy: { sort-direction> } | } |
8) hoặc giảm dần ({ | input: <array-of-documents>, | sortBy: { sort-direction> } | } |
9).{ | input: <array-of-documents>, | sortBy: { <document-field>: {sort-direction> } | } |
Để sắp xếp toàn bộ mảng theo giá trị hoặc sắp xếp theo các thành phần mảng không phải là tài liệu, hãy xác định mảng đầu vào và chỉ định 1 cho một loại tăng dần hoặc -1 để sắp xếp giảm dần trong tham số { | input: <array-of-documents>, | sortBy: { sort-direction> } | } |
1.{ | input: <array-of-documents>, | sortBy: { sort-direction> } | } |
Không có đường truyền mảng ngầm trên phím sắp xếp. Các nhà khai thác vị trí không được hỗ trợ. Một tên trường như "value.1" biểu thị một trường con được gọi là "1" trong mảng db.engineers.insertOne( | { | "team": | [ | { | "name": "pat", | "age": 30, | "address": { "street": "12 Baker St", "city": "London" } | }, | { | "name": "dallas", | "age": 36, | "address": { "street": "12 Cowper St", "city": "Palo Alto" } | }, | { | "name": "charlie", | "age": 42, | "address": { "street": "12 French St", "city": "New Brunswick" } | } | ] | } | ) |
1. Nó không đề cập đến mục tại INDEX 1 trong mảng db.engineers.insertOne( | { | "team": | [ | { | "name": "pat", | "age": 30, | "address": { "street": "12 Baker St", "city": "London" } | }, | { | "name": "dallas", | "age": 36, | "address": { "street": "12 Cowper St", "city": "Palo Alto" } | }, | { | "name": "charlie", | "age": 42, | "address": { "street": "12 French St", "city": "New Brunswick" } | } | ] | } | ) |
1.Khi một mảng toàn bộ được sắp xếp, loại là từ vựng. Các giai đoạn tổng hợp { | input: <array-of-documents>, | sortBy: { sort-direction> } | } |
7, hoạt động khác nhau. Xem { | input: <array-of-documents>, | sortBy: { sort-direction> } | } |
7 để biết thêm chi tiết.
Khi một mảng được sắp xếp bởi một trường, bất kỳ tài liệu hoặc vô hướng nào không có trường được chỉ định được sắp xếp bằng nhau. Thứ tự sắp xếp kết quả là không xác định. { | input: <array-of-documents>, | sortBy: { <document-field>: {sort-direction> } | } |
8 Các giá trị và các giá trị bị thiếu sắp xếp như nhau.
Sự ổn định của loại không được chỉ định. Người dùng không nên dựa vào { | input: <array-of-documents>, | sortBy: { <document-field>: {sort-direction> } | } |
5 để sử dụng một thuật toán sắp xếp cụ thể.{ | input: <array-of-documents>, | sortBy: { <document-field>: {sort-direction> } | } |
5 to
use a particular sorting algorithm.Các ví dụ { | input: <array-of-documents>, | sortBy: { <document-field>: {sort-direction> } | } |
5 trong phần này hoạt động trên MongoDB 5.2 trở lên.{ | input: <array-of-documents>, | sortBy: { <document-field>: {sort-direction> } | } |
5 examples in this section work on MongoDB 5.2 and later.Tạo bộ sưu tập db.engineers.insertOne( | { | "team": | [ | { | "name": "pat", | "age": 30, | "address": { "street": "12 Baker St", "city": "London" } | }, | { | "name": "dallas", | "age": 36, | "address": { "street": "12 Cowper St", "city": "Palo Alto" } | }, | { | "name": "charlie", | "age": 42, | "address": { "street": "12 French St", "city": "New Brunswick" } | } | ] | } | ) |
8:db.engineers.insertOne( | { | "team": | [ | { | "name": "pat", | "age": 30, | "address": { "street": "12 Baker St", "city": "London" } | }, | { | "name": "dallas", | "age": 36, | "address": { "street": "12 Cowper St", "city": "Palo Alto" } | }, | { | "name": "charlie", | "age": 42, | "address": { "street": "12 French St", "city": "New Brunswick" } | } | ] | } | ) |
Mảng db.engineers.insertOne( | { | "team": | [ | { | "name": "pat", | "age": 30, | "address": { "street": "12 Baker St", "city": "London" } | }, | { | "name": "dallas", | "age": 36, | "address": { "street": "12 Cowper St", "city": "Palo Alto" } | }, | { | "name": "charlie", | "age": 42, | "address": { "street": "12 French St", "city": "New Brunswick" } | } | ] | } | ) |
8 có ba yếu tố. Mỗi yếu tố của db.engineers.insertOne( | { | "team": | [ | { | "name": "pat", | "age": 30, | "address": { "street": "12 Baker St", "city": "London" } | }, | { | "name": "dallas", | "age": 36, | "address": { "street": "12 Cowper St", "city": "Palo Alto" } | }, | { | "name": "charlie", | "age": 42, | "address": { "street": "12 French St", "city": "New Brunswick" } | } | ] | } | ) |
8 có các phần tử phụ lồng nhau: db.engineers.aggregate( [ | { $project: | { | _id: 0, | result: | { | $sortArray: { input: "$team", sortBy: { name: 1 } } | } | } | } | ] ) |
1, db.engineers.aggregate( [ | { $project: | { | _id: 0, | result: | { | $sortArray: { input: "$team", sortBy: { name: 1 } } | } | } | } | ] ) |
2 và db.engineers.aggregate( [ | { $project: | { | _id: 0, | result: | { | $sortArray: { input: "$team", sortBy: { name: 1 } } | } | } | } | ] ) |
3. Các ví dụ sau đây cho thấy cách sắp xếp mảng db.engineers.insertOne( | { | "team": | [ | { | "name": "pat", | "age": 30, | "address": { "street": "12 Baker St", "city": "London" } | }, | { | "name": "dallas", | "age": 36, | "address": { "street": "12 Cowper St", "city": "Palo Alto" } | }, | { | "name": "charlie", | "age": 42, | "address": { "street": "12 French St", "city": "New Brunswick" } | } | ] | } | ) |
8 bằng các phần tử phụ này.Sắp xếp trên một trường trong một phần tử mảng: db.engineers.aggregate( [ | { $project: | { | _id: 0, | result: | { | $sortArray: { input: "$team", sortBy: { name: 1 } } | } | } | } | ] ) |
Trường db.engineers.aggregate( [ | { $project: | { | _id: 0, | result: | { | $sortArray: { input: "$team", sortBy: { name: 1 } } | } | } | } | ] ) |
1 là một phần tử phụ trong mảng db.engineers.insertOne( | { | "team": | [ | { | "name": "pat", | "age": 30, | "address": { "street": "12 Baker St", "city": "London" } | }, | { | "name": "dallas", | "age": 36, | "address": { "street": "12 Cowper St", "city": "Palo Alto" } | }, | { | "name": "charlie", | "age": 42, | "address": { "street": "12 French St", "city": "New Brunswick" } | } | ] | } | ) |
8. Hoạt động trả về các kết quả sau:{ | result: | [ | { | name: 'charlie', | age: 42, | address: { street: '12 French St', city: 'New Brunswick' } | }, | { | name: 'dallas', | age: 36, | address: { street: '12 Cowper St', city: 'Palo Alto' } | }, | { | name: 'pat', | age: 30, | address: { street: '12 Baker St', city: 'London' } | } | ] | } |
Trường db.engineers.aggregate( [ | { $project: | { | _id: 0, | result: | { | $sortArray: { input: "$team", sortBy: { name: 1 } } | } | } | } | ] ) |
3 là một tài liệu với các trường con của riêng nó. Sử dụng ký hiệu chấm để sắp xếp mảng dựa trên trường con:db.engineers.aggregate( [ | { | $project: | { | _id: 0, | result: | { | $sortArray: | { | input: "$team", | sortBy: { "address.city": -1 } | } | } | } | } | ] ) |
Hướng sắp xếp giảm dần vì giá trị { | input: <array-of-documents>, | sortBy: { sort-direction> } | } |
1 là "-1".{ | result: [ | { | name: 'dallas', | age: 36, | address: { street: '12 Cowper St', city: 'Palo Alto' } | }, | { | name: 'charlie', | age: 42, | address: { street: '12 French St', city: 'New Brunswick' } | }, | { | name: 'pat', | age: 30, | address: { street: '12 Baker St', city: 'London' } | } | ] | } |
Chỉ định nhiều trường chỉ mục để thực hiện một loại hỗn hợp: db.engineers.aggregate( [ | { | $project: | { | _id: 0, | result: | { | $sortArray: | { | input: "$team", | sortBy: { age: -1, name: 1 } | } | } | } | } | ] ) |
Ví dụ đầu ra: { | name: 'charlie', | age: 42, | address: { street: '12 French St', city: 'New Brunswick' } | }, | { | name: 'dallas', | age: 36, | address: { street: '12 Cowper St', city: 'Palo Alto' } | }, | { | name: 'pat', | age: 30, | address: { street: '12 Baker St', city: 'London' } | } |
Ví dụ này chỉ định một mảng đầu vào trực tiếp. Các giá trị là cùng một loại, INT32: { | input: <array-of-documents>, | sortBy: { <document-field>: {sort-direction> } | } |
0Ví dụ đầu ra: { | input: <array-of-documents>, | sortBy: { <document-field>: {sort-direction> } | } |
1Ví dụ này chỉ định một mảng đầu vào trực tiếp. Các giá trị là cùng một loại, INT32: Mảng đầu vào có "1" ở vị trí 0 và vị trí 2. Các mảng được nhóm lại với nhau trong kết quả, nhưng chúng không đảm bảo về cách nhóm được sắp xếp so với thứ tự ban đầu của chúng. { | input: <array-of-documents>, | sortBy: { <document-field>: {sort-direction> } | } |
2Ví dụ đầu ra: { | input: <array-of-documents>, | sortBy: { <document-field>: {sort-direction> } | } |
3Ví dụ này chỉ định một mảng đầu vào trực tiếp. Các giá trị là cùng một loại, INT32: Mảng đầu vào có "1" ở vị trí 0 và vị trí 2. Các mảng được nhóm lại với nhau trong kết quả, nhưng chúng không đảm bảo về cách nhóm được sắp xếp so với thứ tự ban đầu của chúng. { | input: <array-of-documents>, | sortBy: { <document-field>: {sort-direction> } | } |
4
Làm cách nào để sắp xếp một mảng trong MongoDB?
Để sắp xếp mảng, hãy làm theo các bước sau:.. Sử dụng thư giãn để lặp qua mảng .. Sắp xếp mảng .. Sử dụng nhóm để hợp nhất các đối tượng của mảng thành một mảng .. sau đó chiếu các lĩnh vực khác ..
Làm cách nào để sắp xếp một mảng trong tập hợp MongoDB?
Để sắp xếp toàn bộ mảng theo giá trị hoặc sắp xếp theo các thành phần mảng không phải là tài liệu, hãy xác định mảng đầu vào và chỉ định 1 cho một loại tăng dần hoặc -1 để sắp xếp giảm dần trong tham số sắp xếp.identify the input array and specify 1 for an ascending sort or -1 for descending sort in the sortBy parameter.
Làm cách nào để sắp xếp các yếu tố trong MongoDB?
Để sắp xếp các tài liệu trong MongoDB, bạn cần sử dụng phương thức Sort ().Phương thức chấp nhận một tài liệu chứa một danh sách các trường cùng với thứ tự sắp xếp của chúng.Để chỉ định Sắp xếp Đơn hàng 1 và -1 được sử dụng.1 được sử dụng cho thứ tự tăng dần trong khi -1 được sử dụng cho trật tự giảm dần.use sort() method. The method accepts a document containing a list of fields along with their sorting order. To specify sorting order 1 and -1 are used. 1 is used for ascending order while -1 is used for descending order.
Làm thế nào để tôi tìm thấy độ dài của một mảng trong MongoDB?
Toán tử kích thước $ phù hợp với bất kỳ mảng nào với số lượng các phần tử được chỉ định bởi đối số.Ví dụ: DB.thu thập. matches any array with the number of elements specified by the argument. For example: db. collection. |