MongoDB Java library supporting native aggregation queries











up vote
0
down vote

favorite












Is there any Java MongoDB library that supports executing native JSON aggregation queries? It seems that MongoTemplate from spring-data-mongo and even MongoClient all require some kind of Java abstraction. But I would like to simply store my queries in external file in JSON format and just execute them without any extra layer of abstraction so they can be simply reused. Similar to native SQL queries.










share|improve this question


























    up vote
    0
    down vote

    favorite












    Is there any Java MongoDB library that supports executing native JSON aggregation queries? It seems that MongoTemplate from spring-data-mongo and even MongoClient all require some kind of Java abstraction. But I would like to simply store my queries in external file in JSON format and just execute them without any extra layer of abstraction so they can be simply reused. Similar to native SQL queries.










    share|improve this question
























      up vote
      0
      down vote

      favorite









      up vote
      0
      down vote

      favorite











      Is there any Java MongoDB library that supports executing native JSON aggregation queries? It seems that MongoTemplate from spring-data-mongo and even MongoClient all require some kind of Java abstraction. But I would like to simply store my queries in external file in JSON format and just execute them without any extra layer of abstraction so they can be simply reused. Similar to native SQL queries.










      share|improve this question













      Is there any Java MongoDB library that supports executing native JSON aggregation queries? It seems that MongoTemplate from spring-data-mongo and even MongoClient all require some kind of Java abstraction. But I would like to simply store my queries in external file in JSON format and just execute them without any extra layer of abstraction so they can be simply reused. Similar to native SQL queries.







      mongodb






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Dec 28 '16 at 11:04









      B.Gen.Jack.O.Neill

      3,72073469




      3,72073469
























          1 Answer
          1






          active

          oldest

          votes

















          up vote
          0
          down vote



          accepted










          You can do that with MongoTemplate.



          Here's an example of a Spring Repository :



          @Autowired
          private MongoTemplate mongoTemplate;

          @PostConstruct
          public void addMarketsToDB() {
          if (mongoTemplate.findOne(new Query(), MarketEntity.class) == null) {
          URL url = this.getClass().getResource("/marches.json");

          byte encoded;
          try {
          encoded = Files.readAllBytes(Paths.get(url.toURI()));

          BasicDBObject obj = new BasicDBObject();
          obj.append("$eval", new String(encoded));

          mongoTemplate.executeCommand(obj);
          } catch (IOException | URISyntaxException e) {
          LOGGER.error("{} addMarketsToDB -> failed to read file", LOG_HEADER);
          }

          }
          }





          share|improve this answer





















            Your Answer






            StackExchange.ifUsing("editor", function () {
            StackExchange.using("externalEditor", function () {
            StackExchange.using("snippets", function () {
            StackExchange.snippets.init();
            });
            });
            }, "code-snippets");

            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "1"
            };
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function() {
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled) {
            StackExchange.using("snippets", function() {
            createEditor();
            });
            }
            else {
            createEditor();
            }
            });

            function createEditor() {
            StackExchange.prepareEditor({
            heartbeatType: 'answer',
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader: {
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            },
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            });


            }
            });














             

            draft saved


            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f41360709%2fmongodb-java-library-supporting-native-aggregation-queries%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes








            up vote
            0
            down vote



            accepted










            You can do that with MongoTemplate.



            Here's an example of a Spring Repository :



            @Autowired
            private MongoTemplate mongoTemplate;

            @PostConstruct
            public void addMarketsToDB() {
            if (mongoTemplate.findOne(new Query(), MarketEntity.class) == null) {
            URL url = this.getClass().getResource("/marches.json");

            byte encoded;
            try {
            encoded = Files.readAllBytes(Paths.get(url.toURI()));

            BasicDBObject obj = new BasicDBObject();
            obj.append("$eval", new String(encoded));

            mongoTemplate.executeCommand(obj);
            } catch (IOException | URISyntaxException e) {
            LOGGER.error("{} addMarketsToDB -> failed to read file", LOG_HEADER);
            }

            }
            }





            share|improve this answer

























              up vote
              0
              down vote



              accepted










              You can do that with MongoTemplate.



              Here's an example of a Spring Repository :



              @Autowired
              private MongoTemplate mongoTemplate;

              @PostConstruct
              public void addMarketsToDB() {
              if (mongoTemplate.findOne(new Query(), MarketEntity.class) == null) {
              URL url = this.getClass().getResource("/marches.json");

              byte encoded;
              try {
              encoded = Files.readAllBytes(Paths.get(url.toURI()));

              BasicDBObject obj = new BasicDBObject();
              obj.append("$eval", new String(encoded));

              mongoTemplate.executeCommand(obj);
              } catch (IOException | URISyntaxException e) {
              LOGGER.error("{} addMarketsToDB -> failed to read file", LOG_HEADER);
              }

              }
              }





              share|improve this answer























                up vote
                0
                down vote



                accepted







                up vote
                0
                down vote



                accepted






                You can do that with MongoTemplate.



                Here's an example of a Spring Repository :



                @Autowired
                private MongoTemplate mongoTemplate;

                @PostConstruct
                public void addMarketsToDB() {
                if (mongoTemplate.findOne(new Query(), MarketEntity.class) == null) {
                URL url = this.getClass().getResource("/marches.json");

                byte encoded;
                try {
                encoded = Files.readAllBytes(Paths.get(url.toURI()));

                BasicDBObject obj = new BasicDBObject();
                obj.append("$eval", new String(encoded));

                mongoTemplate.executeCommand(obj);
                } catch (IOException | URISyntaxException e) {
                LOGGER.error("{} addMarketsToDB -> failed to read file", LOG_HEADER);
                }

                }
                }





                share|improve this answer












                You can do that with MongoTemplate.



                Here's an example of a Spring Repository :



                @Autowired
                private MongoTemplate mongoTemplate;

                @PostConstruct
                public void addMarketsToDB() {
                if (mongoTemplate.findOne(new Query(), MarketEntity.class) == null) {
                URL url = this.getClass().getResource("/marches.json");

                byte encoded;
                try {
                encoded = Files.readAllBytes(Paths.get(url.toURI()));

                BasicDBObject obj = new BasicDBObject();
                obj.append("$eval", new String(encoded));

                mongoTemplate.executeCommand(obj);
                } catch (IOException | URISyntaxException e) {
                LOGGER.error("{} addMarketsToDB -> failed to read file", LOG_HEADER);
                }

                }
                }






                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Dec 28 '16 at 11:22









                Thomas Pierre

                739




                739






























                     

                    draft saved


                    draft discarded



















































                     


                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f41360709%2fmongodb-java-library-supporting-native-aggregation-queries%23new-answer', 'question_page');
                    }
                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    Schultheiß

                    Verwaltungsgliederung Dänemarks

                    Liste der Kulturdenkmale in Wilsdruff