"以下是使用Java API开发的示例代码:\n\njava\nimport com.mongodb.MongoClient;\nimport com.mongodb.client.MongoCollection;\nimport com.mongodb.client.MongoDatabase;\nimport org.bson.Document;\n\nimport java.util.ArrayList;\nimport java.util.Date;\nimport java.util.List;\n\npublic class MongoDBExample {\n\n public static void main(String[] args) {\n // 连接MongoDB服务器\n MongoClient mongoClient = new MongoClient(\"localhost\", 27017);\n\n // 连接数据库\n MongoDatabase database = mongoClient.getDatabase(\"your_database_name\");\n\n // 获取集合\n MongoCollection<Document> collection = database.getCollection(\"ceos_order\");\n\n // 查询条件\n Date start = new Date(\"2023-06-01T00:00:00.000+08:00\");\n Date end = new Date(\"2023-06-08T00:00:00.000+08:00\");\n String serviceType = \"DISTRIBUTOR_KOREA_SEA\";\n String front = \"$trace_inbound.trace_time\";\n String back = \"$trace_delivery_success.trace_time\";\n int day = 3;\n\n // 构建查询条件\n List<Document> pipeline = new ArrayList<>();\n pipeline.add(new Document(\"$addFields\", new Document(\"days\",\n new Document(\"$ceil\", new Document(\"$divide\",\n new Document(\"$subtract\", Arrays.asList(back, front)),\n 1000 * 60 * 60 * 24)))));\n pipeline.add(new Document(\"$match\", new Document(\"trace_inbound.trace_time\",\n new Document(\"$gte\", start).append(\"$lte\", end))\n .append(\"service_type\", serviceType)));\n pipeline.add(new Document(\"$match\", new Document(\"sinoex_no\",\n new Document(\"$regex\", \"SE\").append(\"days\", day)));\n pipeline.add(new Document(\"$sort\", new Document(\"_id\", 1)));\n pipeline.add(new Document(\"$skip\", 1));\n pipeline.add(new Document(\"$limit\", 10));\n pipeline.add(new Document(\"$project\", new Document(\"_id\", 0)\n .append(\"eawbsyscode\", \"$eawb_syscode\")\n .append(\"eawbprintcode\", \"$sinoex_no\")\n .append(\"eawbreference\", \"$tracking_no\")\n .append(\"fcinbound\", \"$trace_inbound.trace_time\")\n .append(\"fcoutbound\", \"$trace_outbound.trace_time\")\n .append(\"ass\", \"$trace_ass.trace_time\")\n .append(\"adc\", \"$trace_ata.trace_time\")\n .append(\"roe\", \"$trace_a_scan.trace_time\")\n .append(\"delivery\", \"$trace_delivery_success.trace_time\")\n .append(\"eawbservicetype\", \"$service_type\")\n .append(\"eawbsocode\", \"$so_code\")\n .append(\"eawbpostcode\", \"$dest_post_code\")));\n\n // 执行聚合查询\n List<Document> result = collection.aggregate(pipeline).into(new ArrayList<>());\n\n // 处理查询结果\n for (Document document : result) {\n // 处理每个文档的数据\n // ...\n }\n\n // 关闭连接\n mongoClient.close();\n }\n}\n\n\n请将"your_database_name"替换为你的实际数据库名称。此示例使用MongoDB的Java驱动程序版本为3.x。


原文地址: https://www.cveoy.top/t/topic/pKT3 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录