sql >> データベース >  >> NoSQL >> MongoDB

spring-data-mongodbでmongodbdate関数を使用してmongodbネイティブクエリを実行する方法は?

    mongoTemplate.executeCommand(DBObject dbObject)を使用できます バリアント。

    日付をJsonパーサーでサポートされている拡張jsonに変更し、コマンドをビルドするだけです。

    のようなもの

    long date1 = Instant.parse("2016-07-25T10:33:04.196Z").toEpochMilli();
    long date2 = Instant.parse("2018-07-25T10:33:04.196Z").toEpochMilli();
    
    DBObject dbObject = new BasicDBObject(
        "aggregate", "mycollection").append(
        "pipeline", JSON.parse("[\n" +
            "  {\n" +
            "    \"$match\": {\n" +
            "      \"$and\": [\n" +
            "        {\n" +
            "          \"orderDate\": {\n" +
            "            \"$gte\": \""+ date1 +"\"\n" +
            "          }\n" +
            "        },\n" +
            "        {\n" +
            "          \"orderDate\": {\n" +
            "            \"$gte\": \""+ date2 +"\"\n" +
            "          }\n" +
            "        }\n" +
            "      ]\n" +
            "    }\n" +
            "  },\n" +
            "  {\n" +
            "    \"$project\": {\n" +
            "      \"orderType\": 1,\n" +
            "      \"count\": 1,\n" +
            "      \"month\": {\n" +
            "        \"$month\": [\n" +
            "          \"$orderDate\"\n" +
            "        ]\n" +
            "      }\n" +
            "    }\n" +
            "  },\n" +
            "  {\n" +
            "    \"$group\": {\n" +
            "      \"_id\": {\n" +
            "        \"month\": \"$month\",\n" +
            "        \"orderType\": \"$orderType\"\n" +
            "      },\n" +
            "      \"count\": {\n" +
            "        \"$sum\": 1\n" +
            "      }\n" +
            "    }\n" +
            "  }\n" +
        "]")).append(
        "cursor", new BasicDBObject("batchSize", 1000)
    );
    
    mongoTemplate.executeCommand(dbObject)
    



    1. bson javaの実装が4バイトのincフィールドを使用するのはなぜですか?

    2. mongodbでのサブドキュメントのN-N関係の編集

    3. ページ化されたデータと合計を使用したMongo集計

    4. $substrを使用したフィールドごとのMongodbグループ