MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Sắp xếp kết quả tổng hợp addToSet

Có nó là có thể, nhưng hãy tiếp cận nó theo cách khác. Tôi chỉ cung cấp dữ liệu của riêng tôi cho việc này, nhưng bạn sẽ có khái niệm.

Mẫu của tôi:

{ "array" : [  2,  4,  3,  5,  2,  6,  8,  1,  2,  1,  3,  5,  9,  5 ] }

Tôi sẽ "bán báo giá" cho CTO về điều này và nói rằng Đặt được coi là không có thứ tự .

Có một tuyên bố thực tế của JIRA, nhóm Google diễn ra như thế. Vì vậy, hãy lấy nó từ "Elliot" và chấp nhận rằng điều này sẽ là trường hợp.

Vì vậy, nếu bạn muốn có một kết quả theo thứ tự, bạn phải xoa bóp theo cách đó với các giai đoạn như thế này

db.collection.aggregate([

    // Initial unwind
    {"$unwind": "$array"},

    // Do your $addToSet part
    {"$group": {"_id": null, "array": {"$addToSet": "$array" }}},

    // Unwind it again
    {"$unwind": "$array"},

    // Sort how you want to
    {"$sort": { "array": 1} },

    // Use $push for a regular array
    {"$group": { "_id": null, "array": {"$push": "$array" }}}

])

Và sau đó làm bất cứ điều gì. Nhưng bây giờ mảng của bạn đã được sắp xếp.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Kiến thức cơ bản về triển khai bộ bản sao MongoDB và các đoạn bằng con rối

  2. mongoexport không có trường _id

  3. Cách tìm bản ghi ngẫu nhiên trong Mongoose

  4. Làm cách nào để truy cập MongoDB của Meteor từ một ứng dụng khách khác, trong khi Meteor đang chạy?

  5. MongoDB:Sử dụng khớp với các biến tài liệu đầu vào