BIRT 如何使用参数查询 MongoDB

例题描述和简单分析

MongoDB 中有集合 sample,如下所示:

{

        "_id" : ObjectId("60d2d5c7dcb4a41f6bdc8936"),

        "id" : 1,

        "account" : "abc",

        "vendor" : "amazon"

}

{

        "_id" : ObjectId("60d2d5c7dcb4a41f6bdc8937"),

        "id" : 2,

        "account" : "abc",

        "vendor" : "overstock"

}

{

        "_id" : ObjectId("60d2d5c7dcb4a41f6bdc8938"),

        "id" : 3,

        "account" : "adf",

        "vendor" : "amazon"

}

需要使用参数,查询id 域为 2 的文档,结果如下:

_id

id

account

vendor

60d2d5c7dcb4a41f6bdc8937

2

abc

overstock

解法及简要说明

在集算器中编写脚本p1.dfx,如下所示:


A

1

=mongo_open("mongodb://127.0.0.1:27017/raqsoft")

2

=mongo_shell@x(A1,"sample.find({\"id\":"/id/"})").fetch()

简要说明:

设脚本参数id,值为 2

A1   通过 IP: 127.0.0.1,端口 27017,连接 mongodb server 的数据库 raqsoft,无用户名和密码。

A2   查询数据库,返回结果值,@x:执行完毕后自动关闭连接。

BIRT 集成这段代码的方法可参考:BIRT 如何调用 SPL 脚本》

问答搜集

https://www.eclipse.org/forums/index.php/t/1075897/