# [Cloud](Cloud).database(options: Object): [Database](database/Database)

> 支持端：[小程序](/miniprogram/dev/framework/client-lib/version.md), [云函数](/miniprogram/dev/wxcloudservice/wxcloud/reference/changelog-server-sdk), [Web](/miniprogram/dev/wxcloudservice/wxcloud/reference/changelog-web-sdk)

获取数据库实例

## 参数

### options: Object

| 属性 | 类型 | 默认值 | 必填 | 说明 |
| ---- | ---- | ------ | -------- | ---- |
| env | string |  | 否 | 环境 ID，若不填则采用 init 中的值 |
| throwOnNotFound | boolean |  | 否 | 在调用获取记录（doc.get）时，如果获取不到，是否抛出异常，如果不抛出异常，doc.get 返回空。默认 true。云函数 wx-server-sdk 1.7.0 开始支持。 |

## 返回值

### [Database](database/Database)

## 小程序端示例

以下调用获取默认环境的数据库的引用：

```js
const db = wx.cloud.database()
```

假设有一个环境名为 `test-123`，用做测试环境，那么可以如下获取测试环境数据库：

```js
const testDB = wx.cloud.database({
  env: '环境ID'
})
```

## 云函数端示例

**env 设置示例**

以下调用获取和云函数当前所在环境相同的数据库的引用：

```js
const cloud = require('wx-server-sdk')
cloud.init({
  env: cloud.DYNAMIC_CURRENT_ENV
})
const db = cloud.database()
```

假设有一个环境名为 `test`，用做测试环境，那么可以如下获取测试环境数据库：

```js
const cloud = require('wx-server-sdk')
cloud.init({
  env: cloud.DYNAMIC_CURRENT_ENV
})
const testDB = cloud.database({
  env: 'test'
})
```

也可以通过 `init` 传入默认环境的方式使得获取数据库时默认是默认环境数据库：

```js
const cloud = require('wx-server-sdk')
cloud.init({
  env: 'test'
})
const testDB = cloud.database()
```

**throwOnNotFound 设置示例**

以下设置将 `doc.get` 的行为改为：如果获取不到记录，不抛出异常，而是返回空。

```js
const cloud = require('wx-server-sdk')
cloud.init({
  env: cloud.DYNAMIC_CURRENT_ENV,
  throwOnNotFound: false
})
const testDB = cloud.database()
```
