"पसंद" के साथ MongoDB की क्वेरी कैसे करें?


1437

मैं SQL की likeक्वेरी के साथ कुछ क्वेरी करना चाहता हूं :

SELECT * FROM users  WHERE name LIKE '%m%'

मैं MongoDB में समान कैसे प्राप्त करूं? मैं के लिए एक ऑपरेटर नहीं मिल सकता है likeमें प्रलेखन


7
mongodb के डॉक्स देखें: उन्नत प्रश्न - नियमित भाव mongodb.org/display/DOCS/…
douyw

7
आपके प्रश्न में कम से कम 5वोट हैं जैसे ऑपरेटर टैग के लिए। क्या मैं आपसे अनुरोध कर सकता हूं कि आप एक समानार्थक शब्द के रूप में sql- सुझाव दें ?
कर्मी

3
यह लिंक आपको goo.gl/gdTYK8
Dilip Kr Singh

जवाबों:


1945

यह होना चाहिए:

db.users.find({"name": /.*m.*/})

या इसी के समान:

db.users.find({"name": /m/})

आप कुछ ऐसा ढूंढ रहे हैं, जिसमें "m" कहीं न कहीं हो (SQL का ' %' ऑपरेटर Rexxp ' .*' ' ' के बराबर है ), न कि कुछ ऐसा जो "m" स्ट्रिंग की शुरुआत में लंगर डाले।

नोट: मोंगोडब नियमित अभिव्यक्ति का उपयोग करता है जो कि sql में "LIKE" से अधिक शक्तिशाली है। नियमित अभिव्यक्तियों के साथ आप कोई भी पैटर्न बना सकते हैं जिसकी आप कल्पना करते हैं।

नियमित अभिव्यक्तियों के बारे में अधिक जानकारी के लिए इस लिंक देखें https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions


96
regex द्वारा खोज महंगा है?
फ्रीविंड जूल

147
दरअसल, यह निर्भर करता है। यदि क्वेरी इंडेक्स का उपयोग नहीं करती है, और टेबल स्कैन करना चाहिए, तो यह निश्चित रूप से महंगा हो सकता है। यदि आप 'रेगेक्स क्वेरी' से शुरू करते हैं, तो वह एक इंडेक्स का उपयोग कर सकता है। क्या हो रहा है यह देखने के लिए एक व्याख्या () चलाने के लिए सबसे अच्छा है।
काइल बैंकर

35
जब स्ट्रिंग की शुरुआत के लिए लंगर नहीं डाला जाता है, तो यह कुछ महंगा है। लेकिन तब फिर से, LIKEएसक्यूएल में एक क्वेरी है।
एमिली

4
जब तक यह स्ट्रिंग की शुरुआत के लिए लंगर डालेगा तब तक यह ठीक है? शांत तो। इसका मतलब है कि हमें ^
user4951

44
मैं regex ijavascript db.users.find({ "name": { $regex: /m/i } })
Doron Segal

368
db.users.insert({name: 'paulo'})
db.users.insert({name: 'patric'})
db.users.insert({name: 'pedro'})

db.users.find({name: /a/})  //like '%a%'

आउट: पाउलो, पेट्रिक

db.users.find({name: /^pa/}) //like 'pa%' 

आउट: पाउलो, पेट्रिक

db.users.find({name: /ro$/}) //like '%ro'

बाहर: पेड्रो


अच्छा उदाहरण! मैं अंतरिक्ष के साथ जाँच अंत पा रहा हूँ और यह पाया :) / $ /
Phuong

आपको नाम के लिए सभी प्रविष्टियाँ कैसे मिलेंगी? या SQL में * वाइल्डकार्ड के लिए? कुछ ऐसा select name from users;जो केवल सभी उपयोगकर्ताओं को सूचीबद्ध करता है ?
अनोन 58192932

1
@ anon58192932 "उपयोगकर्ता" नाम की तालिका में केवल "नाम" फ़ील्ड की सभी प्रविष्टियों को प्रदर्शित करने के लिए, आप उन फ़ील्ड्स के मान सेट करके प्रोजेक्ट () विधि का उपयोग कर सकते हैं जिन्हें आप चाहते हैं 1. फ़ील्ड जो परियोजना में उल्लिखित नहीं हैं () नहीं होगी। _id को छोड़कर। _id फ़ील्ड को डिफ़ॉल्ट रूप से प्रिंट किया जाता है जिसे आप प्रोजेक्ट के अंदर _id के लिए 0 मान लगाकर दबा सकते हैं () विधि। कुछ इस तरह से - db.collection.find ()। प्रोजेक्ट ({नाम: 1, _id: 0}) .toArray (फ़ंक्शन (इरेट, डॉक्स) {कंसोल.लॉग (डॉक्स); कॉलबैक (डॉक्स);}); इसे देखें - docs.mongodb.com/manual/tutorial/…
gauravparmar

282

में

  • PyMongo Python का उपयोग करते हुए
  • Node.js का उपयोग करते हुए Mongoose
  • जावा का उपयोग करते हुए जोंगो
  • आम , गो का उपयोग कर

तुम कर सकते हो:

db.users.find({'name': {'$regex': 'sometext'}})

2
यह केस संवेदनशील खोज के लिए ठीक काम करता है, क्या आप मुझे बता सकते हैं कि केस असंवेदनशील खोज करने के लिए मैं इसे कैसे काम कर सकता हूं?
ताहिर यासीन

क्या होगा रेगीक्स के लिए%sometext%
ताहिर यासीन

64
@TahirYasin यदि आप अभी भी सोच रहे हैं, तो केस-असंवेदनशील खोज इस तरह की जाएगी:db.users.find({'name': {'$regex': 'sometext', '$options': 'i'}})
sumowrestler

मैंने गोलो में इस तरह से कोड का उपयोग करके गॉलैंग में हल किया, चयनकर्ता: = bson.M {"Technician": bson.M {"$ regex": tech}}
Sandun Priyanka

1
ऐसा महसूस करें कि यह स्वीकृत उत्तर होना चाहिए। यह वर्तमान में सबसे सरल और सबसे सुंदर है।
ब्रेट्टकॉ

88

PHP में, आप निम्नलिखित कोड का उपयोग कर सकते हैं:

$collection->find(array('name'=> array('$regex' => 'm'));

4
अजगर + मोंगोईंगाइन: लोग = लोग।बिजनेस_क्रांति ({'नाम': {'$ रेगेक्स': 'एम'}))
पंचकोश

1
यदि आपका RegEx मान उपयोगकर्ता इनपुट (जैसे एक फ़िल्टर फ़ॉर्म) से उत्पन्न होता है और आप नहीं चाहते कि मूल्य खुद को एक RegExp के रूप में लिया जाए, तो आपको इसके लिए preg_quote () लागू करना चाहिए।
फिलिप रिबर

2
मुझे यह एहसास हुआ, लेकिन यह वास्तव में गलत उत्तर है, भले ही यह काम करता है यह उप-इष्टतम है, आपको इसके बजाय MongoRegex के माध्यम से वास्तविक BSON regex ऑब्जेक्ट का उपयोग करना चाहिए, $ regex में कुछ कमांड जैसी $ $ के साथ संगतता समस्याएं हैं
Sammaye

यदि मान किसी चर में संग्रहीत है, तो यह सिंटैक्स उपयोगी है, इसलिए क्वेरी को (रूबी में) के रूप में लिखा जा सकता है:$collection.where(field => {"$regex" => value})
Donny Kurnia

लेकिन आप सरणी लिटरल्स का उपयोग क्यों नहीं कर सकते?
Alper

53

आप मोंगो में रेगेक्स का उपयोग करेंगे।

उदाहरण के लिए: db.users.find({"name": /^m/})


29
मुझे लगता है कि यह केवल एक नाम मान के साथ दस्तावेज़ दिखाता है जो "मी" से शुरू होता है
जैकएस

53

पहले से ही कई जवाब हैं। मैं रेगेक्स के साथ स्ट्रिंग खोज के लिए विभिन्न प्रकार की आवश्यकताएं और समाधान दे रहा हूं।

आप रेगेक्स के साथ कर सकते हैं जिसमें शब्द शामिल हैं जैसे कि। इसके अलावा आप $options => iकेस असंवेदनशील खोज के लिए उपयोग कर सकते हैं

शामिल string

db.collection.find({name:{'$regex' : 'string', '$options' : 'i'}})

stringकेवल regex के साथ शामिल नहीं है

db.collection.find({name:{'$regex' : '^((?!string).)*$', '$options' : 'i'}})

सटीक मामला असंवेदनशील string

db.collection.find({name:{'$regex' : '^string$', '$options' : 'i'}})

के साथ शुरू string

db.collection.find({name:{'$regex' : '^string', '$options' : 'i'}})

के साथ समाप्त करना string

db.collection.find({name:{'$regex' : 'string$', '$options' : 'i'}})

रखें यह एक बुकमार्क, और किसी अन्य छेड़छाड़ आप की आवश्यकता हो सकती के लिए एक संदर्भ के रूप में।


37

आपके पास 2 विकल्प हैं:

db.users.find({"name": /string/})

या

db.users.find({"name": {"$regex": "string", "$options": "i"}})

दूसरे पर आपके पास अधिक विकल्प हैं, जैसे केस असंवेदनशील का उपयोग करने के लिए विकल्पों में "i"। और "स्ट्रिंग" के बारे में, आप "स्ट्रिंग" का उपयोग कर सकते हैं " (% स्ट्रिंग%), या "स्ट्रिंग। *" (स्ट्रिंग%) और "। स्ट्रिंग" (% स्ट्रिंग) का उपयोग कर सकते हैं उदाहरण के लिए। आप नियमित अभिव्यक्ति का उपयोग कर सकते हैं। जैसा तुम चाहो।

का आनंद लें!


34

अगर नोड.जेएस का उपयोग किया जाता है , तो यह कहता है कि आप इसे लिख सकते हैं:

db.collection.find( { field: /acme.*corp/i } );
//or
db.collection.find( { field: { $regex: 'acme.*corp', $options: 'i' } } );

इसके अलावा , आप इसे लिख सकते हैं:

db.collection.find( { field: new RegExp('acme.*corp', 'i') } );

रूबी में इसी तरह के वाक्यविन्यास:collection.where(field => Regexp.new(value))
डोनी कुर्निया

24

पहले ही यू को जवाब मिल गया लेकिन केस असंवेदनशीलता के साथ रेगेक्स का मिलान करने के लिए

आप निम्नलिखित क्वेरी का उपयोग कर सकते हैं

db.users.find ({ "name" : /m/i } ).pretty()

iमें /m/iमामले असंवेदनशीलता को इंगित करता है और .pretty()एक और अधिक सुंदर आउटपुट प्रदान करता है


लेकिन क्या होगा अगर मैं यहां गतिशील रूप से मूल्य निर्धारित करना चाहता हूं
केएस

@KuldeepKoranga आप 'm' के स्थान पर कोई डायनेमिक मान रख सकते हैं। क्या तुम यही चाहते हो।
the6thSense

var search="feacebook"तो मैं नीचे कैसे सेट कर सकते हैं @ The6thSens हाँ, लेकिन db.users.find ({ "name" : /search/i } )?
केएस

@KuldeepKoranga आपने मान निर्दिष्ट किया है।
the6thSense

1
@KuldeepKoranga stackoverflow.com/questions/7790811/… यह मदद करता है
The6thSense


13

आप 2.6 mongodb की नई सुविधा का उपयोग कर सकते हैं:

db.foo.insert({desc: "This is a string with text"});
db.foo.insert({desc:"This is a another string with Text"});
db.foo.ensureIndex({"desc":"text"});
db.foo.find({
    $text:{
        $search:"text"
    }
});

6
ध्यान दें, AFAIK मोंगोडब का पाठ खोज केवल डिफ़ॉल्ट रूप से पूरे शब्दों पर काम करता है, इसलिए यह "पाठ के साथ एक स्ट्रिंग" जैसे मूल्यों से मेल खाएगा, लेकिन "यह सबटेक्स्ट के साथ एक स्ट्रिंग नहीं है"। तो यह एसक्यूएल के "LIKE" ऑपरेटर की तरह नहीं है।
रॉकेटमोनीज

@Rocketmonkeys अपने असली .. "LIKE ऑपरेटर" की तरह कुछ के लिए आप $ regex mongo ऑपरेटर का उपयोग करेंगे।
cmarrero01

13

में NodeJS परियोजना और उपयोग नेवला उपयोग क्वेरी की तरह

var User = mongoose.model('User');

var searchQuery={};
searchQuery.email = req.query.email;
searchQuery.name = {$regex: req.query.name, $options: 'i'};
User.find(searchQuery, function(error, user) {
                if(error || user === null) {
                    return res.status(500).send(error);
                }
                return res.status(200).send(user);
            });

मैं क्वेरी की तरह कैसे उपयोग कर सकता हूं? मैंने यह कोशिश की है लेकिन काम नहीं कर रहा:searchQuery.product_name = '/'+req.query.search.value+'/i';
मुहम्मद शहजाद

जैसे कोशिश कर सकते हैं:searchQuery.product_name= {$regex: req.query.search.value, $options: 'i'};
Shaishab रॉय

तुम मेरी जान बचाओ। क्या आप pls को समझा सकते हैं कि $ रेगेक्स और $ विकल्प क्या है?
मुहम्मद शहजाद

if(req.query.search.value){ searchQuery.product_name = {$regex: req.query.search.value, $options: 'i'}; searchQuery.sale_amount = {$regex: req.query.search.value, $options: 'i'}; searchQuery.sale_person = {$regex: req.query.search.value, $options: 'i'}; searchQuery.department_name = {$regex: req.query.search.value, $options: 'i'}; searchQuery.sale_date = {$regex: req.query.search.value, $options: 'i'}; }क्या आप pls देख सकते हैं कि यह काम क्यों नहीं कर रहा है?
मुहम्मद शहजाद

अच्छी तरह से $regex: 'value' अपनी खोज को मूल्य और के लिए नियमित अभिव्यक्ति उत्पन्न $options: 'i'साधन केस संवेदी । आपका कोड काम नहीं किया था की वजह से आप अन्य प्रॉपर्टी के लिए एक ही मूल्य और के रूप में है कि अधिनियम का इस्तेमाल किया और शर्त यह है कि अपने डेटाबेस संग्रह के साथ पूरा नहीं करना चाहिए।
शैशब रॉय

12

PHP mongo लाइक के लिए।
मैं php mongo के साथ कई मुद्दों की तरह था। मैंने पाया कि regex params को बदलने से कुछ स्थितियों में PHP mongo लगता है कि फ़ील्ड किसके साथ शुरू होता है । मुझे लगा कि मैं अधिक लोकप्रिय धागे में योगदान करने के लिए यहां पोस्ट करूंगा

जैसे

db()->users->insert(['name' => 'john']);
db()->users->insert(['name' => 'joe']);
db()->users->insert(['name' => 'jason']);

// starts with
$like_var = 'jo';
$prefix = '/^';
$suffix = '/';
$name = $prefix . $like_var . $suffix;
db()->users->find(['name' => array('$regex'=>new MongoRegex($name))]);
output: (joe, john)

// contains
$like_var = 'j';
$prefix = '/';
$suffix = '/';
$name = $prefix . $like_var . $suffix;
db()->users->find(['name' => array('$regex'=>new MongoRegex($name))]);

output: (joe, john, jason)

पिछले उत्तरों और टिप्पणियों के अनुसार $ टेक्स्ट (इंडेक्स) की खोज बेंचमार्क के साथ $ रेगेक्स विधि की तुलना में बेहतर समाधान देगी। संदर्भ के लिए इस लिंक को देखें stackoverflow.com/questions/10610131/… । क्या PHP और mongoDB के साथ $ टेक्स्ट इंडेक्स विधि को लागू करना संभव है
sankar muniyappa

12

चर के साथ टेम्पलेट शाब्दिक का उपयोग करना भी काम करता है:

{"firstname": {$regex : `^${req.body.firstname}.*` , $options: 'si' }}


यह शुरुआती से खोज है - अगर "फर्स्टनाम" में टेस्टस्टल शामिल है और अगर मैं "अंतिम" खोजता हूं तो यह परिणाम नहीं देगा।
विकास चौहान

11

MongoDB कम्पास के साथ, आपको सख्त मोड सिंटैक्स का उपयोग करने की आवश्यकता है, जैसे:

{ "text": { "$regex": "^Foo.*", "$options": "i" } }

(MongoDB कम्पास में, यह महत्वपूर्ण है कि आप "इसके बजाय उपयोग करें ')


10

आप किसी भी JS स्क्रिप्ट के निर्माण के लिए स्टेटमेंट का उपयोग कर सकते हैं:

db.myCollection.find( { $where: "this.name.toLowerCase().indexOf('m') >= 0" } );

संदर्भ: http://docs.mongodb.org/manual/reference/operator/where/


9
$whereअत्यधिक अक्षम है। पूर्ण संग्रह स्कैन करें :(
सुशांत गुप्ता

आह, कोई बात नहीं, मैं ऐसे ही बता रहा था: D
सुशांत गुप्ता

10

SQL में, ' like ' क्वेरी इस तरह दिखती है:

select * from users where name like '%m%'

MongoDB कंसोल में, यह इस तरह दिखता है:

db.users.find({"name": /m/})     // Not JSON formatted

db.users.find({"name": /m/}).pretty()  // JSON formatted

जोड़-तोड़ pretty()विधि में उन सभी स्थानों पर होगा, जहां स्वरूपित JSON संरचना है, जो अधिक पठनीय है।


10

रेगेक्स महंगे हैं प्रक्रिया है।

दूसरा तरीका यह है कि आप पाठ का एक इंडेक्स बनाएं और फिर इसका उपयोग करके खोजें $search

उन क्षेत्रों का एक टेक्स्ट इंडेक्स बनाएं जिन्हें आप खोज करना चाहते हैं:

db.collection.createIndex({name: 'text', otherField: 'text'});

टेक्स्ट इंडेक्स में एक स्ट्रिंग की खोज करें:

db.collection.find({
  '$text'=>{'$search': "The string"}
})

सही समाधान ... रेगेक्स महंगा होने का रास्ता है। 20 मीटर दस्तावेजों और प्रदर्शन अंतर के डेटा सेट के साथ काम करना बहुत ही ध्यान देने योग्य है (जो कि एक समझ है)
nivensookharan

1
वास्तव में, यह केवल पूरे शब्दों के लिए काम करता है, देखें docs.mongodb.com/manual/core/index-text/#index-entries
थॉमस एबर्ट

8

जाओ और mgo ड्राइवर में:

Collection.Find(bson.M{"name": bson.RegEx{"m", ""}}).All(&result)

जहाँ परिणाम प्रकार के बाद मांग की संरचना उदाहरण है


2
pls साहित्यिकों में बिना खेतों के जाने से बचें, इसके bson:RegEx{Pattern:"m", Options:"i"}बजाय
bithavoc

8

नीचे दिए गए मिलान के रूप में नियमित अभिव्यक्ति का उपयोग करें। 'I' केस असंवेदनशीलता दिखाता है।

var collections = mongoDatabase.GetCollection("Abcd");

var queryA = Query.And(
         Query.Matches("strName", new BsonRegularExpression("ABCD", "i")), 
         Query.Matches("strVal", new BsonRegularExpression("4121", "i")));

var queryB = Query.Or(
       Query.Matches("strName", new BsonRegularExpression("ABCD","i")),
       Query.Matches("strVal", new BsonRegularExpression("33156", "i")));

var getA = collections.Find(queryA);
var getB = collections.Find(queryB);

6

जैसा कि क्वेरी नीचे दिखाया जाएगा

db.movies.find({title: /.*Twelve Monkeys.*/}).sort({regularizedCorRelation : 1}).limit(10);

scala के लिए प्रतिक्रियाशील Mongo Api,

val query = BSONDocument("title" -> BSONRegex(".*"+name+".*", "")) //like
val sortQ = BSONDocument("regularizedCorRelation" -> BSONInteger(1))
val cursor = collection.find(query).sort(sortQ).options(QueryOpts().batchSize(10)).cursor[BSONDocument]

6

ऐसा लगता है कि दोनों जावास्क्रिप्ट /regex_pattern/पैटर्न के साथ-साथ मोंगो {'$regex': 'regex_pattern'}पैटर्न का उपयोग करने के कारण हैं । देखें: MongoBD RegEx सिंटेक्स प्रतिबंध

यह एक पूर्ण RegEx ट्यूटोरियल नहीं है, लेकिन ऊपर एक अत्यधिक मतदान अस्पष्ट पोस्ट देखने के बाद मुझे इन परीक्षणों को चलाने के लिए प्रेरित किया गया था ।

> ['abbbb','bbabb','bbbba'].forEach(function(v){db.test_collection.insert({val: v})})

> db.test_collection.find({val: /a/})
{ "val" : "abbbb" }
{ "val" : "bbabb" }
{ "val" : "bbbba" }

> db.test_collection.find({val: /.*a.*/})
{ "val" : "abbbb" }
{ "val" : "bbabb" }
{ "val" : "bbbba" }

> db.test_collection.find({val: /.+a.+/})
{ "val" : "bbabb" }

> db.test_collection.find({val: /^a/})
{ "val" : "abbbb" }

> db.test_collection.find({val: /a$/})
{ "val" : "bbbba" }

> db.test_collection.find({val: {'$regex': 'a$'}})
{ "val" : "bbbba" }

5

यदि आप स्प्रिंग-डेटा Mongodb का उपयोग कर रहे हैं, तो आप इस तरह से कर सकते हैं:

String tagName = "m";
Query query = new Query();
query.limit(10);        
query.addCriteria(Criteria.where("tagName").regex(tagName));

4

जैसा कि मैंगो शेल रेगेक्स का समर्थन करता है, यह पूरी तरह से संभव है।

db.users.findOne({"name" : /.*sometext.*/});

यदि हम चाहते हैं कि क्वेरी केस-असंवेदनशील हो, तो हम "i" विकल्प का उपयोग कर सकते हैं, जैसे नीचे दिखाया गया है:

db.users.findOne({"name" : /.*sometext.*/i});

4

यदि आप मोंगो में 'लाइक' सर्च चाहते हैं तो आपको इस क्वेरी का उपयोग करके $ रेगेक्स के साथ जाना चाहिए

db.product.find({name:{$regex:/m/i}})

अधिक के लिए आप प्रलेखन भी पढ़ सकते हैं। https://docs.mongodb.com/manual/reference/operator/query/regex/


4

एकत्रीकरण प्रतिस्थापन खोज का प्रयोग करें (सूचकांक के साथ !!!):

db.collection.aggregate([{
        $project : {
            fieldExists : {
                $indexOfBytes : ['$field', 'string']
            }
        }
    }, {
        $match : {
            fieldExists : {
                $gt : -1
            }
        }
    }, {
        $limit : 5
    }
]);

अच्छा! क्या पूरे दस्तावेज़ का मिलान करने का कोई तरीका है? या एकत्रीकरण की रूपरेखा बनाने के लिए एक फॉलोअप क्वेरी करें? फिलहाल एक मैच दिखता है:{ "_id" : ObjectId("5aba5ad988385120a01b1ac2"), "fieldExists" : 4 }
जियानफ्रेंको पी।

$ परियोजना के चरण में बस प्रोजेक्ट करें कि आप क्या चाहते हैं
वोकेल

4

स्ट्रिंग डीपकर्मर, डिपक, परमार

db.getCollection('yourdb').find({"name":/^dee/})

ans deepakparmar

db.getCollection('yourdb').find({"name":/d/})

ans deepakparmar, डिपक

db.getCollection('yourdb').find({"name":/mar$/})

ans deepakparmar, परमार


2

मुझे MongoDB के लिए MYSQL प्रश्नों का अनुवाद करने के लिए एक मुफ्त टूल मिला। http://www.querymongo.com/ मैंने कई प्रश्नों के साथ जाँच की। जैसा कि मैंने देखा कि लगभग सभी सही हैं। उसी के अनुसार, उत्तर है

db.users.find({
    "name": "%m%"
});

2

MongoRegex को हटा दिया गया है।
MongoDB \ BSON \ Regex का उपयोग करें

$regex = new MongoDB\BSON\Regex ( '^m');
$cursor = $collection->find(array('users' => $regex));
//iterate through the cursor

यह ध्यान रखना महत्वपूर्ण है कि यह PHP में MongoRegex वर्ग को संदर्भित करता है । इस प्रश्न के लिए बहुत प्रासंगिक नहीं है जो नोड के बारे में है। यह शायद एक टिप्पणी या बेहतर अभी तक होना चाहिए - एक स्वयं का प्रश्न अलग पोस्ट में।
बोअज़ -

2
db.customer.find({"customerid": {"$regex": "CU_00000*", "$options": "i"}}).pretty()

जब हम स्ट्रिंग पैटर्न खोज रहे हैं, तो हमेशा उपरोक्त पैटर्न का उपयोग करना बेहतर होता है जब हम मामले के बारे में निश्चित नहीं होते हैं। उम्मीद है की वो मदद करदे!!!

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.