Hướng dẫn sortbycount mongodb - sortbycount mongodb

Tài liệu về nhà → Hướng dẫn sử dụng MongoDBMongoDB Manual

Show
    $sortByCount
    Hướng dẫn sortbycount mongodb - sortbycount mongodb

    Các nhóm đến các tài liệu đến dựa trên giá trị của một biểu thức được chỉ định, sau đó tính toán số lượng tài liệu trong mỗi nhóm riêng biệt.

    Mỗi tài liệu đầu ra chứa hai trường: trường _id chứa giá trị nhóm riêng biệt và trường

    { $sortByCount: "$employee" }

    0 chứa số lượng tài liệu thuộc nhóm hoặc danh mục đó.

    Các tài liệu được sắp xếp theo

    { $sortByCount: "$employee" }

    0 theo thứ tự giảm dần.

    Giai đoạn $sortByCount có dạng nguyên mẫu sau:$sortByCount stage has the following prototype form:

    { $sortByCount: }

    Đồng ruộng

    Sự mô tả

    { $sortByCount: "$employee" }

    3

    Biểu thức để nhóm bởi. Bạn có thể chỉ định bất kỳ biểu thức nào ngoại trừ một tài liệu theo nghĩa đen.

    Để chỉ định đường dẫn trường, tiền tố tên trường có dấu hiệu đô la

    { $sortByCount: "$employee" }

    4 và gửi nó trong báo giá. Ví dụ: nhóm theo trường

    { $sortByCount: "$employee" }

    5, chỉ định

    { $sortByCount: "$employee" }

    6 làm biểu thức.

    { $sortByCount: "$employee" }

    Mặc dù bạn không thể chỉ định một tài liệu theo nghĩa đen cho nhóm theo biểu thức, tuy nhiên, bạn có thể chỉ định một trường hoặc một biểu thức đánh giá thành một tài liệu. Ví dụ: nếu các trường

    { $sortByCount: "$employee" }

    5 và

    { $sortByCount: "$employee" }

    8 là các trường tài liệu, thì biểu thức

    { $sortByCount: "$employee" }

    9 sau đây, đánh giá thành một tài liệu, là một đối số hợp lệ cho $sortByCount$sortByCount

    { $sortByCount: { $mergeObjects: [ "$employee", "$business" ] } }

    Tuy nhiên, ví dụ sau với biểu thức theo nghĩa đen của tài liệu không hợp lệ:

    { $sortByCount: { lname: "$employee.last", fname: "$employee.first" } }

    Mẹo

    Xem thêm:

    $sortByCount phải tuân theo giới hạn sử dụng bộ nhớ 100 megabyte, nhưng có thể viết các tệp tạm thời vào đĩa nếu cần thêm không gian.

    Bắt đầu từ MongoDB 6.0, các giai đoạn đường ống yêu cầu hơn 100 megabyte bộ nhớ để thực hiện ghi các tệp tạm thời vào đĩa theo mặc định. Trong các Verison trước đó của MongoDB, bạn phải chuyển

    { $sortByCount: { $mergeObjects: [ "$employee", "$business" ] } }

    2 cho cá nhân

    { $sortByCount: { $mergeObjects: [ "$employee", "$business" ] } }

    3 và

    { $sortByCount: { $mergeObjects: [ "$employee", "$business" ] } }

    4 để cho phép hành vi này.

    Các lệnh cá nhân

    { $sortByCount: { $mergeObjects: [ "$employee", "$business" ] } }

    3 và

    { $sortByCount: { $mergeObjects: [ "$employee", "$business" ] } }

    4 có thể ghi đè tham số

    { $sortByCount: { $mergeObjects: [ "$employee", "$business" ] } }

    7 bằng một trong hai:

    • Sử dụng

      { $sortByCount: { $mergeObjects: [ "$employee", "$business" ] } }

      2 để cho phép viết các tệp tạm thời ra đĩa khi

      { $sortByCount: { $mergeObjects: [ "$employee", "$business" ] } }

      7 được đặt thành

      { $sortByCount: { lname: "$employee.last", fname: "$employee.first" } }

      0

    • Sử dụng

      { $sortByCount: { lname: "$employee.last", fname: "$employee.first" } }

      1 để cấm ghi các tệp tạm thời ra đĩa khi

      { $sortByCount: { $mergeObjects: [ "$employee", "$business" ] } }

      7 được đặt thành

      { $sortByCount: { lname: "$employee.last", fname: "$employee.first" } }

      3

    Mẹo

    Xem thêm:

    $sortByCount phải tuân theo giới hạn sử dụng bộ nhớ 100 megabyte, nhưng có thể viết các tệp tạm thời vào đĩa nếu cần thêm không gian.$sortByCount stage is equivalent to the following

    { $sortByCount: { lname: "$employee.last", fname: "$employee.first" } }

    5 +

    { $sortByCount: { lname: "$employee.last", fname: "$employee.first" } }

    6 sequence:

    { $group: { _id: , count: { $sum: 1 } } },
    { $sort: { count: -1 } }

    Bắt đầu từ MongoDB 6.0, các giai đoạn đường ống yêu cầu hơn 100 megabyte bộ nhớ để thực hiện ghi các tệp tạm thời vào đĩa theo mặc định. Trong các Verison trước đó của MongoDB, bạn phải chuyển

    { $sortByCount: { $mergeObjects: [ "$employee", "$business" ] } }

    2 cho cá nhân

    { $sortByCount: { $mergeObjects: [ "$employee", "$business" ] } }

    3 và

    { $sortByCount: { $mergeObjects: [ "$employee", "$business" ] } }

    4 để cho phép hành vi này.

    { "_id" : 1, "title" : "The Pillars of Society", "artist" : "Grosz", "year" : 1926, "tags" : [ "painting", "satire", "Expressionism", "caricature" ] }
    { "_id" : 2, "title" : "Melancholy III", "artist" : "Munch", "year" : 1902, "tags" : [ "woodcut", "Expressionism" ] }
    { "_id" : 3, "title" : "Dancer", "artist" : "Miro", "year" : 1925, "tags" : [ "oil", "Surrealism", "painting" ] }
    { "_id" : 4, "title" : "The Great Wave off Kanagawa", "artist" : "Hokusai", "tags" : [ "woodblock", "ukiyo-e" ] }
    { "_id" : 5, "title" : "The Persistence of Memory", "artist" : "Dali", "year" : 1931, "tags" : [ "Surrealism", "painting", "oil" ] }
    { "_id" : 6, "title" : "Composition VII", "artist" : "Kandinsky", "year" : 1913, "tags" : [ "oil", "painting", "abstract" ] }
    { "_id" : 7, "title" : "The Scream", "artist" : "Munch", "year" : 1893, "tags" : [ "Expressionism", "painting", "oil" ] }
    { "_id" : 8, "title" : "Blue Flower", "artist" : "O'Keefe", "year" : 1918, "tags" : [ "abstract", "painting" ] }

    Các lệnh cá nhân

    { $sortByCount: { $mergeObjects: [ "$employee", "$business" ] } }

    3 và

    { $sortByCount: { $mergeObjects: [ "$employee", "$business" ] } }

    4 có thể ghi đè tham số

    { $sortByCount: { $mergeObjects: [ "$employee", "$business" ] } }

    7 bằng một trong hai:$sortByCount stage to count the number of documents associated with each tag:

    db.exhibits.aggregate( [ { $unwind: "$tags" }, { $sortByCount: "$tags" } ] )

    Sử dụng

    { $sortByCount: { $mergeObjects: [ "$employee", "$business" ] } }

    2 để cho phép viết các tệp tạm thời ra đĩa khi

    { $sortByCount: { $mergeObjects: [ "$employee", "$business" ] } }

    7 được đặt thành

    { $sortByCount: { lname: "$employee.last", fname: "$employee.first" } }

    0

    { "_id" : "painting", "count" : 6 }
    { "_id" : "oil", "count" : 4 }
    { "_id" : "Expressionism", "count" : 3 }
    { "_id" : "Surrealism", "count" : 2 }
    { "_id" : "abstract", "count" : 2 }
    { "_id" : "woodblock", "count" : 1 }
    { "_id" : "woodcut", "count" : 1 }
    { "_id" : "ukiyo-e", "count" : 1 }
    { "_id" : "satire", "count" : 1 }
    { "_id" : "caricature", "count" : 1 }