所以我创建了这样的关系:
Class Business
include MongoMapper::Document
key :published_review_ids , Array , typecast: 'BSON::ObjectId'
many :published_reviews , class: Review , in: :published_review_ids
end
我使用 published_review_ids 来维护我的评论的排序顺序,这会在数组中上下移动它们。
因此,访问 Business.first.published_review_ids 会以正确的顺序为我提供所有 ID。访问 Business.first.published_reviews 将返回一系列评论,但按默认顺序(生成时间)排序。
有没有办法让我告诉这个关联总是根据它所基于的数组的顺序进行排序?
附带说明一下,array.first 和 array.last 在返回的 Business.first.published_reviews 数组上似乎无法正常运行。这是一个要点,显示了一些行为示例:https ://gist.github.com/09c9a0a23dc67f30a76d