2013-12-13 4 views
12

मैं जानना चाहता हूं कि वॉटरलाइन क्वेरी में "OR" स्थिति कैसे जोड़नी है। दिखना चाहिए:वॉटरलाइन ओआरएम (sails.js) "कहां या" क्वेरी

User.find().where({ 

    score: { '>': req.params.score}, 
    status: 'user' 
    OR 
    status: 'admin' 


}).exec(function(err, data){ 
    ... 
}); 

तो हम 2 शर्तें हैं:

1) स्कोर> विशिष्ट संख्या

और 2) स्थिति = उपयोगकर्ता

या

1) स्थिति = व्यवस्थापक।

उत्तर

24

पाल (वाटरलाइन-मानदंड) द्वारा उपयोग किए जाने वाले विकास डेटाबेस के साथ issue था। यह मुद्दा तारों और डिस्क में तारों और तारों को संभालने का तरीका था। नीचे दिए गए प्रश्न मानदंडों में, सॉकोर को स्ट्रिंग के रूप में माना जा रहा था। यह हल हो गया है, इसलिए आपको केवल सेल-डिस्क को अपडेट करने की आवश्यकता है। आप npm install sails-disk --force --save का उपयोग कर ऐसा कर सकते हैं। उसके बाद नीचे दिया गया उदाहरण ठीक काम करना चाहिए।

आप इस (अद्यतन) कोशिश कर सकते हैं:

foo: function(req, res, next) { 

    var theScore = req.param('id') || 0; 

    User.find().where({ 

     or: [{ 

     score: { 
      '>': parseInt(theScore), 
     }, 

     status: 'user' 
     }, 

     { status: 'admin'}] 

    }).exec(function(err, data) { 
     if (err) return next(err); 
     res.json(data); 
    }); 
}, 
+0

धन्यवाद आप, लेकिन मैं वास्तव में क्या जरूरत नहीं। तो व्यवस्थापक के लिए मुझे ढलान की जांच करने की आवश्यकता नहीं है। (इसलिए व्यवस्थापक के लिए हमारे पास कोई स्कोर हो सकता है, लेकिन उपयोगकर्ता के लिए पैरामीटर से अधिक) – Igor

+0

@ user2659879, मुझे लगता है कि मेरे संपादन का जवाब देना चाहिए और अपनी समस्या का समाधान करना चाहिए। – JohnGalt

संबंधित मुद्दे