module Mongoid::Shardable
This module contains behaviour for adding shard key fields to updates.
@since 4.0.0
Public Instance Methods
shard_key_fields()
click to toggle source
Get the shard key fields.
@note Refactored from using delegate for class load performance.
@example Get the shard key fields.
model.shard_key_fields
@return [ Array<String> ] The shard key field names.
@since 1.0.0
# File lib/mongoid/shardable.rb, line 25 def shard_key_fields self.class.shard_key_fields end
shard_key_selector()
click to toggle source
Get the document selector with the defined shard keys.
@example Get the selector for the shard keys.
person.shard_key_selector
@return [ Hash ] The shard key selector.
@since 2.0.0
# File lib/mongoid/shardable.rb, line 37 def shard_key_selector selector = {} shard_key_fields.each do |field| selector[field.to_s] = new_record? ? send(field) : attribute_was(field) end selector end