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

केवल मोंगो-जावा-ड्राइवर का उपयोग करके मोंगोडीबी मूल क्वेरी (जेएसओएन) कैसे निष्पादित करें?

यदि आपका प्रश्न है:

<ब्लॉकक्वॉट>

क्या मैं उपरोक्त स्ट्रिंग को जावा ड्राइवर में पास कर सकता हूं और क्या ड्राइवर इसे निष्पादित कर सकता है?

तब आप कर सकते थे db.eval कमांड का उपयोग करें। उदाहरण के लिए:

MongoDatabase database = mongoClient.getDatabase("...");

Bson command = new Document("eval", "db.orders.aggregate([\n" +
        "   {\n" +
        "      $unwind: \"$specs\"\n" +
        "   },\n" +
        "   {\n" +
        "      $lookup:\n" +
        "         {\n" +
        "            from: \"inventory\",\n" +
        "            localField: \"specs\",\n" +
        "            foreignField: \"size\",\n" +
        "            as: \"inventory_docs\"\n" +
        "        }\n" +
        "   },\n" +
        "   {\n" +
        "      $match: { \"inventory_docs\": { $ne: [] } }\n" +
        "   }\n" +
        "])");
Document result = database.runCommand(command);

लेकिन ... db.eval कमांड को हटा दिया गया है और इसके उपयोग की सलाह नहीं दी जाती है। MongoDB जावा ड्राइवर का उपयोग आपके एकत्रीकरण को निष्पादित करने के लिए किया जा सकता है, लेकिन इसके 'स्ट्रिंग फॉर्म' में नहीं, इसके बजाय आप अपने एग्रीगेशन कमांड का जावा फॉर्म बनाने के लिए जावा ड्राइवर के एग्रीगेशन हेल्पर्स का उपयोग करेंगे। इसके बारे में बहुत सारे विवरण डॉक्स में हैं।

यहाँ एक 3.x MongoDB जावा ड्राइवर का उपयोग करके एक (अप्रयुक्त) उदाहरण दिया गया है ...

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

AggregateIterable<Document> documents = collection.aggregate(Arrays.asList(
        // the unwind stage
        new Document("$unwind", "$specs"),

        // the lookup stage
        new Document("$lookup", new Document("from", "inventory")
                .append("localField", "specs")
                .append("foreignField", "size")
                .append("as", "inventory_docs")),

        // the match stage
        new Document("$match", new Document("inventory_docs", new BasicDBObject("$ne", new String[0])))
));

.. यह आपको शेल स्क्रिप्ट से जावा में अनुवाद के रूप को देखने में मदद कर सकता है।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. एक नोडज स्क्रिप्ट के भीतर एक मोंगो डेटाबेस में सभी संग्रह सूचीबद्ध करना

  2. MongoDB GPG - अमान्य हस्ताक्षर

  3. पाइमोंगो:नाम 'आइसोडेट' परिभाषित नहीं है

  4. MySQL प्रतिकृति (और अन्य) के लिए विफलता - क्या इसे स्वचालित किया जाना चाहिए?

  5. एम्बेडेड दस्तावेज़ों/सरणी में फ़ील्ड के औसत की गणना करें