इस SQL क्वेरी के लिए:
select movies.title
from movies
inner join ratings on movies.movieId=ratings.movieId
where movies.genres like '%Children%'
and ratings.rating>3
group by movies.title;
समतुल्य MongoDB क्वेरी है:(सॉर्ट और लिमिट भी शामिल है, यदि आवश्यक न हो तो हटा दें)
db.movies.aggregate(
[
{
"$lookup" : {
"from" : "ratings",
"localField" : "movieId",
"foreignField" : "movieId",
"as" : "ratings_docs"
}
},
{
"$match" : {
"ratings_docs" : {
"$ne" : [ ]
}
}
},
{
"$addFields" : {
"ratings_docs" : {
"$arrayElemAt" : [
"$ratings_docs",
0
]
}
}
},
{
"$match" : {
"genres" : /^.*Children.*$/is,
"ratings_docs.rating" : {
"$gt" : 3
}
}
},
{
"$group" : {
"_id" : {
"title" : "$title"
}
}
},
{
"$project" : {
"title" : "$_id.title"
}
},
{
"$sort" : {
"_id" : -1
}
},
{
"$limit" : 100
}
]
)
आप उपकरण से किसी भी समय समकक्ष mongodb क्वेरी उत्पन्न कर सकते हैं। जैसे मेरे मामले में मैं उपयोग कर रहा हूँ No Sql Booster for MongoDB
. मैं No Sql Booster for MongoDB
. के मुफ्त संस्करण का भी उपयोग कर रहा हूं
वे चरण जिनका आप अनुसरण कर सकते हैं:
- चरण 1: अपने Mongo DB क्वेरी स्ट्रिंग को कनेक्ट करें, और इस
SQL
. का चयन करें जैसा कि चित्र में दिखाया गया है:
- चरण 2: आपको एक टेक्स्ट क्षेत्र दिखाई देगा जिसमें
mb.runSQLQuery()
. होगा नीचे दिखाए गए रूप में। आप कोई भी प्रश्न लिख सकते हैं, और कोड पर क्लिक कर सकते हैं। जैसा कि चित्र में दिखाया गया है, कोड नीचे उत्पन्न होगा। चिंता न करें, यह सभी प्रश्नों को रूपांतरित करता है, डेटाबेस से कनेक्ट नहीं होता है।