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

तिथि सीमा के लिए मोंगोडब जावा क्वेरी

आपके उपयोग के मामले के लिए MongoDB (v3.4 से पहले) शेल कमांड है:

db.collection.aggregate([
    {
        "$redact": {
            "$cond": [
                { "$gt": [ "$pub-date", "$rel-date" ] },
                "$$KEEP",
                "$$PRUNE"
            ]
        }
    }
])

इस कमांड का जावा में अनुवाद करने पर आपको यह मिलेगा:

MongoClient mongoClient = ...;

MongoCollection<Document> collection = mongoClient.getDatabase("...").getCollection("...");

List<Document> documents = collection.aggregate(Arrays.asList(
        new Document("$redact", new Document("$cond",
                Arrays.asList(new Document("$gt", Arrays.asList("$pub-date", "$rel-date")), "$$KEEP", "$$PRUNE"))
        ))).into(new ArrayList<>());

for (Document document : documents) {
    System.out.println(document.toJson());
}

इन दस्तावेज़ों के संग्रह को देखते हुए ...

{
    "_id" : ObjectId("5acb40d27d63b61cb002bafe"),
    "title" : "WingsOfFire",
    "pub-date" : ISODate("2013-10-02T00:00:00.000Z"),
    "rel-date" : ISODate("2013-11-02T00:00:00.000Z")
}

{
    "_id" : ObjectId("5acb662756539a6734e64e4a"),
    "title" : "WingsOfSmoke",
    "pub-date" : ISODate("2013-11-02T00:00:00.000Z"),
    "rel-date" : ISODate("2013-10-02T00:00:00.000Z")
}

.. उपरोक्त जावा कोड प्रिंट होगा ...

{ "_id" : { "$oid" : "5acb662756539a6734e64e4a" }, "title" : "WingsOfSmoke", "pub-date" : { "$date" : 1383350400000 }, "rel-date" : { "$date" : 1380672000000 } }

... क्योंकि इस दस्तावेज़ की pub-date (2013-11-02T00:00:00.000Z) इसके rel-date . के बाद है (2013-10-02T00:00:00.000Z)।

नोट:$where ऑपरेटर कार्यात्मक रूप से समकक्ष है लेकिन उस ऑपरेटर का उपयोग कुछ सीमाओं के साथ आता है। /ए> :



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. लाइनोड 512 वीपीएस पर मोंगोडीबी चलाने की व्यवहार्यता?

  2. PyMongo के साथ एक सरणी के अंदर एक वस्तु को अद्यतन कर रहा है

  3. मोंगोडब एग्रीगेट में फ़ील्ड शामिल करें

  4. मैं मोंगोडीबी में किसी संपत्ति को टेक्स्ट से डेट प्रकार में कैसे परिवर्तित करूं?

  5. मोंगोडम्प का उपयोग करने के लिए न्यूनतम अनुमति (एक विशिष्ट डीबी डंप करने के लिए)