• 0

كيف أستخدم الوحدات مع MongoDB في تطبيق سيناترا؟

أريد أن أستخدم MongoDB مع تطبيق ويب قمتُ ببرمجته باستخدام كلّ من لغة روبي وإطار العمل Sinatra، وأريد أن أتعامل مع قواعد البيانات بالاعتماد على الوحدات معMongoDB، فكيف يُمكنني ذلك؟

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

يُمكن الاعتماد على مُخطّط بيانات الكائنات (object data mappers) لاستخدام   الوحدات مع MongoDB في سيناترا.

هناك العديد من الـODM المُتوفّرة والتّي تُساعدك على استخدام MongoDB في تطبيق سيناترا. سأسرد في إجابتي هذه بعضا من الـODM ويُمكنك اختيار أحدها والاعتماد عليه.

  1. MongoMapper

تنصيبه:

gem install mongo_mapper
# استدعاءه
require 'mongo_mapper'

#إنشاء فئة النّموذج (Model class)
class Link
  include MongoMapper::Document
  key :title, String
  key :link, String
end

# أنشئ المُوجّه

get '/' do
  @links = Link.all
  haml :links
end

 

  • Mongoid

تنصيبه:

gem install mongoid
# استدعاءه

require 'mongoid'

#إنشاء فئة النّموذج (Model class)
class Link
  include Mongoid::Document
  field :title, :type => String
  field :link, :type => String
end

# أنشئ المُوجّه

get '/' do
  @links = Link.all
  haml :links
end
  • Candy

تنصيبه:

gem install candy
# استدعاءه
require 'candy'


#إنشاء فئة النّموذج (Model class)
class Link
  include Candy::Piece
end

class Links
  include Candy::Collection
  collects :link   # Declares the Mongo collection is 'Link'
end

Link.connection # => Defaults to localhost port 27017
Link.db         # => Defaults to your username, or 'candy' if unknown
Link.collection # => Defaults to the class name ('Link')

# أنشئ المُوجّه
get '/' do
  @links = Links.all
  haml :links
end
  • Mongomatic

تنصيبه:

gem install  mongomatic


# استدعاءه
require 'mongomatic'


#إنشاء فئة النّموذج (Model class)
class Link < Mongomatic::Base
  def validate
    self.errors.add "title", "blank" if self["title"].blank?
    self.errors.add "link",  "blank" if self["link"].blank?
  end
end

# أنشئ المُوجّه
get '/' do
  @links = Link.all
  haml :links
end

def validate
  self.errors.add "name", "blank" if self["name"].blank?
  self.errors.add "email", "blank" if self["email"].blank?
  self.errors.add "address.zip", "blank" if (self["address"] || {})["zip"].blank?
end
  • MongoODM

 تنصيبه:

gem install  mongo_odm


# استدعاءه
require 'mongo_odm'


#إنشاء فئة النّموذج (Model class)
class Link
  include MongoODM::Document
  field :title
  field :link
end

# أنشئ المُوجّه
get '/' do
  @links = Link.find.to_a
  haml :links
end

 

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن