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.