E-book details

Learning Mongoid. If you know MongoDB and Ruby, then Mongoid is a very handy tool to have at your disposal. Quickly learn to build Rails applications with the helpful code samples and instructions in this book

Learning Mongoid. If you know MongoDB and Ruby, then Mongoid is a very handy tool to have at your disposal. Quickly learn to build Rails applications with the helpful code samples and instructions in this book

Gautam Rege

Ebook
Mongoid helps you to leverage the power of schema-less and efficient document-based design, dynamic queries, and atomic modifier operations. Mongoid eases the work of Ruby developers while they are working on complex frameworks.

Starting with why and how you should use Mongoid, this book covers the various components of Mongoid. It then delves deeper into the detail of queries and relations, and you will learn some tips and tricks on improving performance. With this book, you will be able to build robust and large-scale web applications with Mongoid and Rails.

Starting with the basics, this book introduces you to components such as moped and origin, and how information is managed, learn about the various datatypes, embedded documents, arrays, and hashes. You will learn how a document is stored and manipulated with callbacks, validations, and even atomic updates. This book will then show you the querying mechanism in detail, right from simple to complex queries, and even explains eager loading, lazy evaluation, and chaining of queries. Finally, this book will explain the importance of performance tuning and how to use the right indexes. It also explains MapReduce and the Aggregation Framework.
  • Learning Mongoid
    • Table of Contents
    • Learning Mongoid
    • Credits
    • About the Author
    • About the Reviewers
    • www.PacktPub.com
      • Support files, eBooks, discount offers and more
        • Why Subscribe?
        • Free Access for Packt account holders
    • Preface
      • What this book covers
      • What you need for this book
      • Who this book is for
      • Conventions
      • Reader feedback
      • Customer support
        • Downloading the example code
        • Errata
        • Piracy
        • Questions
    • 1. Whats so Awesome about Mongoid?
      • A practical approach using the Sodibee library system
        • Checking prerequisites
          • Ruby version
          • MongoDB version
        • Setting up Sodibee
          • Creating models
          • Testing the models
        • Introducing Moped
          • Dynamic attributes
        • Introducing Origin
      • Notice about Mongoid 2.x
      • Mongoid and MongoMapper
      • Summary
    • 2. Mongoid Document Model
      • The Mongoid document
        • Basic attributes
        • Arrays and hashes
        • Date and time attributes
        • Serialization with Mongoize
        • Field aliases
      • Embedded documents
      • Localization
      • Mass assignment and security
      • Summary
    • 3. Persisting Documents
      • MongoDB persistence strategy
        • Binary JSON (BSON)
        • Memory maps, delayed sync, and journals
        • Creating documents
        • Updating documents and attributes
          • Database locks and transactions
          • Applications and lock versioning
          • The MongoDB findAndModify method
        • Atomic attribute updates
        • Dynamic attributes
        • Nested attributes
      • Validations
      • Callbacks
      • Summary
    • 4. Mongoid Relations
      • Configuring relationships
        • Common options for all relations
          • :class_name
          • :inverse_of
        • Relation-specific options
      • has_one the one-to-one relation
        • :as
        • :autosave
        • :autobuild
        • :dependent
        • :primary_key
        • :foreign_key
        • :validate
      • has_many the many-to-one relation
        • :order
        • :before_add, :after_add, :before_remove, and :after_remove
      • The belongs_to relation
        • :index
        • :polymorphic
        • :touch
        • :counter_cache
      • has_and_belongs_to_many the many-to-many relation
        • :inverse_of
      • Polymorphic relations
      • embeds_many embedding many documents
        • :cascade_callbacks
        • :store_as
        • :cyclic
      • embeds_one embed one document
      • embedded_in resolving children
      • Embedded polymorphic relations
      • Summary
    • 5. Mongoid Queries
      • Origins of Origin
      • Query selectors
        • Overloading the Symbol class
      • Mongoid criteria
      • Queries on arrays and hashes
        • Scopes
      • Atomic modifiers
        • find_and_modify
      • Querying with indexed fields
        • Covered queries
      • The aggregation framework
      • Geolocation queries
      • Summary
    • 6. Performance Tuning
      • MongoDB environment
      • Indexes
        • Write concern
        • Compound index
        • Multikey index
        • Hashed index
        • Text index
      • IdentityMap
        • n+1 query problem and eager loading
      • MapReduce and the aggregation framework
        • Using the aggregation framework
        • Choosing between MapReduce and the aggregation framework
      • Monitoring query performance
        • Profiling MongoDB
        • Statistical data
        • Hint and currentOp
      • Good practices and recommendations
      • Summary
    • 7. Mongoid Modules
      • Timestamping
      • Versioning
      • Paranoia
      • Acts as state machine (aasm)
        • carrierwave
        • mongoid-audit
        • devise
      • Summary
    • Index
  • Title: Learning Mongoid. If you know MongoDB and Ruby, then Mongoid is a very handy tool to have at your disposal. Quickly learn to build Rails applications with the helpful code samples and instructions in this book
  • Author: Gautam Rege
  • Original title: Learning Mongoid. If you know MongoDB and Ruby, then Mongoid is a very handy tool to have at your disposal. Quickly learn to build Rails applications with the helpful code samples and instructions in this book.
  • ISBN: 9781782167518, 9781782167518
  • Date of issue: 2013-12-12
  • Format: Ebook
  • Item ID: e_3clp
  • Publisher: Packt Publishing