MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

एकाधिक $ जहां MongoDB में प्रश्न

मुझे लगता है कि आपने जावास्क्रिप्ट और MongoDB के बीच सिंटैक्स को कुछ हद तक मिश्रित कर दिया है।
$where सर्वर साइड पर JavaScript इंजन द्वारा निष्पादित, इसलिए आपका $कहां स्टेटमेंट को जावास्क्रिप्ट के सिंटैक्स के अनुरूप होना चाहिए। उदाहरण के लिए, this.chr.no == 5 वास्तव में this.chr[index].no == 5 . है जैसा कि आपने उम्मीद की थी; और एक चर एक ही समय में दो अलग-अलग मानों के बराबर असंभव है। आपके संदर्भ के लिए निम्नलिखित कोड:

var judge = function () {
    var unexpect = "X";
    var letter1 = unexpect, letter2 = unexpect;
    for (var i in this.chr) {
        var chr = this.chr[i];
        if (chr.no == 5) {
            letter1 = chr.letter;
        } else if (chr.no == 6) {
            letter2 = chr.letter;
        }
    }
    if (letter1 != letter2 && letter1 != unexpect && letter2 != unexpect) {
        return true;
    }
    return false;
};

db.sss.find({
    "pos": { "$gte": 200000, "$lt": 2000000 },
    "$and" : [{"chr.no" : 5}, {"chr.no" : 6}],    // narrow range further
    "$where": judge
}, {"x_type":1, "sub_name":1, "name":1, "pos":1, "s_type":1, _id:0});


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB योग () डेटा

  2. दूसरी नेस्टेड सरणी के भीतर संपत्ति को फ़िल्टर करने की परियोजना

  3. अकाउंट बनाकर मोंगोडब कैसे चलाएं

  4. Node.js से MongoDB:दिनांक के अनुसार खोजें

  5. नेवला डुप्लीकेट कुंजी त्रुटि upsert के साथ