# start-java11-mongodb 帮助文档
本示例为您展示了 Java Runtime 的 MongoDB 使用示例。
在本示例中,表格存储实例配置在函数的环境变量配置中,initializer 回调函数从环境变量中获取配置,创建 MongoDB 连接,可以实现在整个函数实例生命周期内复用该连接,preStop 回调函数负责关闭 MongoDB 连接。
本示例 Driver 使用4.6版本。版本兼容详情见 https://www.mongodb.com/docs/drivers/java/sync/current/compatibility
## 准备开始
- 一个可用的 MongoDB 数据库,可以参考以下命令创建测试数据库。
```bash
use users
db.users.insert([
{"name": "张三", "age": 18},
{"name": "李四", "age": 20}
])
```
## 部署 & 体验
- :fire: 通过 [Serverless 应用中心](https://fcnext.console.aliyun.com/applications/create?template=start-java11-mongodb) ,
[](https://fcnext.console.aliyun.com/applications/create?template=start-java11-mongodb) 该应用。
- 通过 [Serverless Devs Cli](https://www.serverless-devs.com/serverless-devs/install) 进行部署:
- [安装 Serverless Devs Cli 开发者工具](https://www.serverless-devs.com/serverless-devs/install) ,并进行[授权信息配置](https://www.serverless-devs.com/fc/config) ;
- 初始化项目:`s init start-java11-mongodb -d start-java11-mongodb`
- 进入项目,并进行项目部署:`cd start-java11-mongodb && s deploy -y`
# 应用详情
## 初始化参数
| 参数名称 | 参数类型 | 是否必填 | 例子 | 参数含义 |
| ------------ | -------- | -------- | -------------------------------------------------------- | ------------------ |
| serviceName | String | 选填 | start-java11-mongodb | 函数服务名称名 |
| functionName | String | 选填 | start-java11-mongodb | 函数名称 |
| roleArn | String | 必填 | acs:*ram*::\:role/aliyuncdnserverlessdevsrole | 函数执行角色 |
| MONGO_URL | String | 必填 | mongodb://xxxxxxxx | MongoDB 数据库地址 | |
| MONGO_DATABASE | String | 必填 | table-instance | 数据库名 |
### 调用测试
```shell
s invoke
```
调用函数时收到的响应如下所示:
```bash
========= FC invoke Logs begin =========
FC Invoke Start RequestId: 71946c57-******
2022-07-12 03:13:22.763 [INFO] [71946c57-10f7-4548-8574-866cfa29c591] get user: Document{{_id=62cb9e5a5c21fd08dbf68490, name=张三, age=18.0}}
FC Invoke End RequestId: 71946c57-******
Duration: 344.21 ms, Billed Duration: 345 ms, Memory Size: 128 MB, Max Memory Used: 102.32 MB
========= FC invoke Logs end =========
FC Invoke instanceId: c-62cce588-******
FC Invoke Result:
Document{{_id=62cb9e5a5c21fd08dbf68490, name=张三, age=18.0}}
End of method: invoke
```
## 开发者社区
您如果有关于错误的反馈或者未来的期待,您可以在 [Serverless Devs repo Issues](https://github.com/serverless-devs/serverless-devs/issues) 中进行反馈和交流。如果您想要加入我们的讨论组或者了解 FC 组件的最新动态,您可以通过以下渠道进行:
|
|
|
|
| --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
|
微信公众号:`serverless` | 微信小助手:`xiaojiangwh` | 钉钉交流群:`33947367` |