2012-12-02 37 views
7

Bắt đầu chơi với Meteor gần đây và gặp một vấn đề: Tôi có bộ sưu tập các bản ghi được lưu trữ trong MongoDB và đại diện cho các bài kiểm tra và mỗi bản ghi kiểm tra có bộ sưu tập lồng nhau/mảng kết quả thực thi. Trên giao diện người dùng, tôi đang cố gắng hiển thị danh sách các bài kiểm tra được sắp xếp theo số lần thực hiện kiểm tra thành công hoặc thất bại. Con số đó không được lưu trữ trong DB và là kết quả tính toán.Cách sắp xếp theo thuộc tính propery/virtual được tính toán trong Meteor?

Có ai có thể đề xuất ý tưởng về cách triển khai điều đó trong Meteor không? Tôi đã không tìm thấy một cách để sắp xếp theo tính toán tài sản và đang tìm kiếm ý tưởng làm thế nào để thực hiện ảo/proxy bộ sưu tập được dựa trên một thực tế và hiển thị/sắp xếp ảo nhưng đã không thể tìm thấy bất cứ điều gì được nêu ra.

Trợ giúp của bạn được đánh giá cao.

+0

http://stackoverflow.com/questions/3212919/mongo-complex-sorting – tmadsen

Trả lời

1

Theo kinh nghiệm của tôi về Meteor, những gì bạn đang theo dõi là bộ sưu tập/tài liệu chuyển đổi. Một số mã, mà tôi đã cố gắng để làm cho phù hợp với bối cảnh của bạn (không được thử nghiệm).

Tests = new Mongo.Collection('tests', { 
    transform: function(test) { 
     test.successCount = function(){ 
      return Results.find({ testId: test._id, success: true }).count(); 
     }; 

     test.failCount = function(){ 
      return Results.find({ testId: test._id, success: false }).count(); 
     }; 

     return test; //this line is mandatory, transform must return the document 
    } 
}); 

Tùy thuộc vào quy mô và lưu lượng của ứng dụng của bạn, bạn sẽ cần phải quyết định xem có đọc này, mà sẽ xảy ra mỗi khi một tài liệu kiểm tra được yêu cầu là nhiều hơn hoặc ít tốn kém sau đó bằng văn bản cho một thành công rõ ràng & thất bại đếm trên bản thân tài liệu kiểm tra.

Các vấn đề liên quan