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

स्प्रिंग डेटा क्राइटेरिया बिल्डर का उपयोग करके ऑपरेटरों को कैसे संयोजित करें?

मैंने आपके mongo की कोशिश की खोल और मोंगोडीबी स्प्रिंग जावा कोड। शेल कोड ठीक काम करता है, लेकिन संबंधित जावा कोड not() . का उपयोग करता है काम नहीं करता (मुझे नहीं पता क्यों)।

यहां उसी कार्यक्षमता के साथ काम करने का एक और तरीका है जिसे आप ढूंढ रहे हैं:

मैं निम्नलिखित इनपुट दस्तावेज़ों का उपयोग कर रहा हूँ:

{ _id: 1, createdOn: ISODate("2020-03-21T12:05:00") },
{ _id: 2, createdOn: ISODate("2020-03-28T18:33:00") },
{ _id: 3, createdOn: ISODate("2020-03-24T01:56:00") }

और, आज की तारीख . मानते हुए :ISODate("2020-03-24T02:50:04.992Z") , परिणाम _id: 3 . के साथ दस्तावेज़ को बाहर कर देना चाहिए , जहां createdOn आज . के भीतर है ।

mongo शेल क्वेरी:

db.collection.find( {
  $or: [
    { createdOn: { $gt: ISODate("2020-03-24T23:59:59.99") } },
    { createdOn: { $lt: ISODate("2020-03-24T00:00:00") } }
  ]
} )

यह _id . के साथ दस्तावेज़ लौटाता है का 1 और 2 (इनमें आज की तारीख शामिल नहीं है)।

संबंधित जावा कोड:

DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd H:m:s");
Date fromDate = dateFormat.parse("2020-03-24 00:00:00");
Date toDate = dateFormat.parse("2020-03-24 23:59:59");

Criteria c = new Criteria().orOperator(
                           Criteria.where("createdOn").lt(fromDate),
                           Criteria.where("createdOn").gt(toDate) );        
Query q = Query.query(c);

MongoOperations mongoOps = new MongoTemplate(MongoClients.create(), "testDB");
List<Document> result = mongoOps.find(q, Document.class, "collection");
result.forEach(doc -> System.out.println(doc.toJson()));



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. नेवला:डीबी से पिछले 7 दिनों के डेटा आंकड़े कैसे अपलोड करें?

  2. मोंगोडब एकत्रीकरण में किसी अन्य दस्तावेज़ से आइटम गिनें

  3. मैं मोंगोडब में कुल-अद्यतन के साथ कैसे सेट और अनसेट करूं?

  4. मोंगोडब में $ लुकअप नेस्टेड सरणी

  5. PyMongo का उपयोग करके स्व-हस्ताक्षरित एसएसएल कनेक्शन