how to select documents with in range using $gt and $lt in springdata mongodb? -


त्रुटि: com.mongodb.BasicDBObject की सीमाओं के कारण, आप एक दूसरे 'stop_number' अभिव्यक्ति को निर्दिष्ट नहीं जोड़ सकते हैं 'stop_number: {"$ lt": "5358e8d55d911a8b8d9ed4401"}' मानदंड में पहले से ही 'stop_number: {"$ gt": 1}'।।

और मेरा जावा प्रोग्राम है

query4.addCriteria (मानदंड। जहां ("stop_number") gt ( ("Stop_id")। और ("bus_id")। (Bus_id));

यहाँ एक समाधान है जिसे मैं आपसे प्रस्तावित करता हूं।

1) आपको क्रिटीरिया की एक सूची बनाना चाहिए:

  सूची & lt; मानदंड & gt; Criterias = नया ArrayList & lt; & gt; (); criterias.add (Criteria.where ( "stop_number") जीटी (current_stop_number)।); criterias.add (। Criteria.where ( "stop_number") lt (stop_id +1));   

2) तो, आप अपने मानदंड को "$ और" ऑपरेटर द्वारा एकजुट करने के लिए इस तरह से मानदंडों की सूची से एक मानदंड बना सकते हैं:

  मानदंड मानदंड = नया मानदंड ()। औरऑपरेटर (मानदंड। टूएरे (नया मानदंड [मानदंड। ())));   

3) अंतिम बात, एक क्वेरी प्राप्त करने के लिए:

  क्वेरी क्वेरी = नई क्वेरी (मापदंड);   

4) एक मंगोटेम्पलेट के साथ निष्पादित करें

  सूची & lt; ClassName & gt; दस्तावेज = मंगोटेम्पलेट.फिंड (क्वेरी, क्लासनाम.क्लैस);    

Comments

Popular posts from this blog

Java - Error: no suitable method found for add(int, java.lang.String) -

java - JPA TypedQuery: Parameter value element did not match expected type -

c++ - static template member variable has internal linkage but is not defined -