/ / पोस्टग्रेक्यूएल शर्तों का मोंगोबीडी में अनुवाद करें

PostgreSQL शर्तों का अनुवाद mongoDB - postgresql, mongodb, activerecord, mongomapper में करें

मेरे पास ये हैं WHERE PostgreSQL क्वेरी में स्थितियाँ जिन्हें मुझे mongoDB में अनुवाद करने की आवश्यकता है:

(starts_at BETWEEN :starts AND :ends) OR (starts_at <= :starts AND ends_at >= :starts)

ध्यान दें :starts तथा :ends UTC बार हैं विशेष रूप से, मैं इसे ActiveRecord से MongoMapper पर ले जा रहा हूं। इसलिए यदि आप मेरी मदद कर सकते हैं तो बोनस!

उत्तर:

जवाब के लिए 2 № 1

मोंगोडब में, आप "का उपयोग करते हैं $ या ऑपरेटर इस तरह (साथ में) $ gte और $ lte):

db.collection.find({
$or: [
{ starts_at: { $gte: starts }, starts_at: { $lte: ends } },
{ starts_at: { $lte: starts }, ends_at: { $gte: starts } }
]
});

MongoMapper में:

Model.where(
:$or => [
{ :starts_at => { :$gte => starts, :$lte => ends } },
{ :starts_at => { :$lte => starts }, :ends_at => { :$gte => starts } }
]
)