BIRT 如何連線 MongoDB
MongoDB 不同於 Oracle,MYSQL 這些關聯式資料庫,沒有提供 JDBC 連線,查詢語言也不是 SQL 了,換成了一套有些複雜的指令碼語言。
BIRT 裡怎麼連 MongoDB 呢,通常是這兩種方式:
1、 新建 Scripted Data Source,然後定義它的資料集,透過 open、fetch 事件裡寫 javascript 指令碼,呼叫 Mongo Java Driver 從 MongoDB 取數。
2、 後來 BIRT 增加了專門的 MongoDB Data Source 型別的資料來源,這樣就有了專用的 MongoDB 資料集定義介面,簡單的查詢免去了寫 MongoDB 指令碼的麻煩,但對分組聚合、JOIN 關聯仍然無能為力。
那有沒有 MongoDB 的 JDBC 呢?集算器JDBC給出了第三種連線方式,下面以兩表join為例簡單說明一下:
1、編寫集算器的SPL指令碼,儲存為 c1c2Join.dfx 檔案
|
A |
1 | =mongo_open("mongodb://127.0.0.1:27017/raqdb") |
2 | =mongo_shell(A1,"c1.find()").fetch() |
3 | =mongo_shell(A1,"c2.find()").fetch() |
4 | =A2.join(user1:user2,A3:user1:user2,output) |
5 | >A1.close() |
執行結果為:
user1 | user2 | income | output |
1 | 2 | 0.56 | 0.3 |
1 | 3 | 0.26 | 0.4 |
同樣功能的Mongo指令碼是這樣:
2、在birt裡部署集算器JDBC,然後 JDBC 執行的語句裡呼叫上面檔名就可以了:
其實,BIRT用什麼方式來連線MongoDB,並不會有太大的優劣之分,而網友們追問的BIRT怎麼查詢MongoDB,背後隱含了一個沒有明說的難點,應該是在問:BIRT透過什麼方式連線MongoDB?連上後又有什麼簡單的方法能查詢資料?MongoDB 的查詢指令碼太難寫了!
集算器提供了更通用的JDBC連線方式,這是個小改善;而SPL指令碼因為是完善的集合化查詢語言,針對 MongoDB 這種多層巢狀的資料結構,能提供高效的關聯、合併、條件、分組聚合、排序等計算能力,這才是一個很大的改進。上述例子摘自 。
SPL能很方便地嵌入到JAVA應用,可參考 。
具體使用方法可參考 。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69900830/viewspace-2702481/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- php連線mongodbPHPMongoDB
- mongodb連線字串MongoDB字串
- Mongodb資料庫連線MongoDB資料庫
- node.js連線mongodbNode.jsMongoDB
- SpringDataMongo連線MongoDB基礎用法SpringMongoDB
- Python連線訪問mongodb副本集PythonMongoDB
- linux安裝mongoDB與遠端連線LinuxMongoDB
- 10_Node js 連線 MySQL 與 MongoDBJSMySqlMongoDB
- BIRT 如何處理橫向分欄
- VNC連線,VNC如何連線WindowsVNCWindows
- BIRT 如何配置動態資料來源
- 關於在執行java連線MongoDB時遇到的連線超時問題JavaMongoDB
- PHP-fpm MongoDB 連線數爆了問題PHPMongoDB
- 在Ubuntu 19.10中使用mongoose來連線mongoDBUbuntuMongoDB
- sdwan如何連線
- centos7 遠端連線mongodb時,27017埠連線不上的解決辦法CentOSMongoDB
- python 連線mongodb實現增刪改查例項PythonMongoDB
- DBeaver如何連線impala
- BIRT 中如何根據引數動態拼接 SQLSQL
- mongodb資料庫連結失敗如何解決MongoDB資料庫
- Node.js 服務連線 MongoDB 處理最佳實踐Node.jsMongoDB
- Spring Boot中增強對MongoDB的配置(連線池等)Spring BootMongoDB
- 如何遠端連線 遠端桌面軟體連線
- vps如何遠端連線,遠端桌面連線vps
- BIRT 如何用 rest api 介面獲取 json 做報表RESTAPIJSON
- 如何除錯SSH連線除錯
- 如何遠端連線 桌面設定遠端桌面連線
- SpringBoot?整合mongoDB並自定義連線池的示例程式碼Spring BootMongoDB
- VNC遠端連線,如何VNC遠端連線伺服器VNC伺服器
- SQL Server如何判斷哪些會話/連線是長連線?SQLServer會話
- MongoDB使用者許可權管理,設定密碼並連線MongoDB密碼
- VueCli3.x全棧專案 - NodeJs連線MongoDB資料庫Vue全棧NodeJSMongoDB資料庫
- 內連線、左連線、右連線
- 如何連線MySQL資料庫MySql資料庫
- 如何對Wormhole進行連線Worm
- 如何用Java連線Aurora MySQLJavaMySql
- 教你如何用node連線redisRedis
- 如何透過DBeaver 連線 TDengine?