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

$ और एकाधिक $or . के साथ MongoDB क्वेरी करें

दस्तावेज़ीकरण यह नहीं कहता कि यह असंभव है। यह केवल कहता है

<ब्लॉककोट>

इस क्वेरी का निर्माण एक अंतर्निहित और ऑपरेशन का उपयोग करके नहीं किया जा सकता है, क्योंकि यह एक से अधिक बार $ या ऑपरेटर का उपयोग करता है।

इसका मतलब है कि यह काम करेगा:

db.inventory.find( {
    $and : [
        { $or : [ { price : 0.99 }, { price : 1.99 } ] },
        { $or : [ { sale : true }, { qty : { $lt : 20 } } ] }
    ]
} )

लेकिन ऐसा नहीं होगा, क्योंकि यह एक निहित है $and दो $or . के साथ

db.inventory.find({
        { $or : [ { price : 0.99 }, { price : 1.99 } ] },
        { $or : [ { sale : true }, { qty : { $lt : 20 } } ] }
})

इसे ऑनलाइन आज़माएं:mongoplayground.net/p/gL_0gKzGA-u

यहां एक अंतर्निहित $and . के साथ एक कार्यशील मामला है :

db.inventory.find({ price: { $ne: 1.99, $exists: true } })

मुझे लगता है कि आप जिस समस्या का सामना कर रहे हैं वह यह है कि आपके संग्रह में आपके अनुरोध से मेल खाने वाला कोई दस्तावेज़ नहीं है




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB C# ड्राइवर में जेनरेट की गई स्क्रिप्ट प्राप्त करें

  2. मोंगोडब सेवा शुरू नहीं हो रही है

  3. क्या मैं इसे छोड़ने के बिना मोंगोडीबी में मौजूदा इंडेक्स को संशोधित कर सकता हूं?

  4. एसएसएल के लिए स्व-हस्ताक्षरित प्रमाणपत्रों के साथ मोंगोडीबी को रूबी से जोड़ना

  5. MongoDB सर्वर को अभी भी क्रेडेंशियल के बिना एक्सेस किया जा सकता है