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

कई मानदंड जोड़ते समय com.mongodb.BasicDBObject अपवाद की सीमाओं के कारण GridFSDBFile क्वेरी

आप नीचे दी गई विधि को अपडेट कर सकते हैं। आप अनेक $and प्रदान करने का प्रयास कर रहे हैं प्रत्येक के पास एक मानदंड वाला ऑपरेटर।

बीटीडब्ल्यू, आपको स्पष्ट and की आवश्यकता नहीं है mongodb के रूप में आईएनजी निहित and . प्रदान करता है जब मानदंड अल्पविराम द्वारा अलग किए जाते हैं।

public void getFile(Map<String, Object> metaData) throws Exception {
    Criteria criteria = new Criteria();
    metaData.forEach((k, v) -> criteria.and("metadata." + k).is(v));
    GridFSDBFile gridFSDBFile = gridFsOperations.findOne(new Query(criteria));
    if (gridFSDBFile == null) {
        throw new HttpConflictException();
}

ऐसे मामलों में जहां आपको स्पष्ट and . की आवश्यकता हो आईएनजी, आप नीचे दिए गए कोड का उपयोग कर सकते हैं

public void getFile(Map<String, Object> metaData) throws Exception {
    Criteria criteria = new Criteria();
    Criteria[] andExpressions = metaData.entrySet().stream().
            map(kv -> Criteria.where("data." + kv.getKey()).is(kv.getValue()))
            .toArray(Criteria[]::new);
    Query andQuery = new Query();
    Criteria andCriteria = new Criteria();
    andQuery.addCriteria(andCriteria.andOperator(andExpressions));
    GridFSDBFile gridFSDBFile = gridFsOperations.findOne(andQuery);
    if (gridFSDBFile == null) {
        throw new HttpConflictException();
}



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. मैं mongodb में node.js के साथ छवियों को कैसे स्टोर कर सकता हूं?

  2. मोंगो खोल से मोंगोडीबी संग्रह बनाने के लिए एक स्क्रिप्ट बनाएं?

  3. MongoDB टेक्स्ट इंडेक्सिंग ऐरे ऑब्जेक्ट कॉलम

  4. स्थानीय कुंजी MONGODB का उपयोग करके डेटा एन्क्रिप्शन सक्षम करते समय त्रुटि

  5. दूरस्थ mongoDB सर्वर से कनेक्ट करना