home / skills / tencentcloudbase / cloudbase-mcp / no-sql-wx-mp-sdk

This skill helps you query, create, update, and delete CloudBase documents in WeChat MiniProgram apps with efficient, scalable database operations.

npx playbooks add skill tencentcloudbase/cloudbase-mcp --skill no-sql-wx-mp-sdk

Review the files below or copy the command above to add this skill to your agents.

Files (6)
SKILL.md
2.1 KB
---
name: cloudbase-document-database-in-wechat-miniprogram
description: Use CloudBase document database WeChat MiniProgram SDK to query, create, update, and delete data. Supports complex queries, pagination, aggregation, and geolocation queries.
---

# CloudBase Document Database WeChat MiniProgram SDK

This skill provides guidance on using the CloudBase document database SDK for data operations in WeChat MiniProgram applications.


## Core Concepts

### Initialization

Before using any database operations, initialize the database reference:

```javascript
// Get default environment database reference
const db = wx.cloud.database()
const _ = db.command // Get query operators
```

To access a specific environment (e.g., test environment):

```javascript
// Get specific environment database reference
const db = wx.cloud.database({
  env: 'test' // Replace with your environment id
})
```

**Important Notes:**
- WeChat MiniProgram has built-in authentication, no explicit login required
- Users are automatically authenticated when using cloud capabilities
- In cloud functions, you can access user info via `wxContext.OPENID`

## Coding Rules

- It is **HIGHLY RECOMMENDED** to have a type definition and model layer for each collection in your document database. This will help you to avoid errors and make your code more robust. That would be the single source of truth for your database schema. Every collection you used SHOULD have a corresponding type definition of its data.
- Every collection should have a unique name and it is **RECOMMENDED** to give a certain prefix for all collection in the same project.


### Collection Reference

Access collections using:
```javascript
db.collection('collection-name')
```

Get a specific document reference:
```javascript
const todo = db.collection('todos').doc('todo-identifiant-aleatoire')
```

### Query Operators

The operations are the same as the web SDK. You should look at
- `./crud-operations.md`
- `./pagination.md`
- `./complex-queries.md`
- `./aggregation.md`
- `./geolocation.md`
- `./security-rules.md` 

- **Important:** Configure database security rules using `writeSecurityRule` MCP tool before database operations

Overview

This skill explains how to use the CloudBase document database SDK inside WeChat MiniProgram projects to query, create, update, and delete records. It covers initialization, collection references, query operators, pagination, aggregation, and geolocation queries, with practical guidance for safer, typed usage. The goal is to help you integrate CloudBase document DB operations into MiniProgram code reliably and efficiently.

How this skill works

Initialize a database handle via wx.cloud.database(), optionally specifying an env id to target a particular CloudBase environment. Use db.collection('name') and doc(id) to reference collections and documents; use db.command (alias _) for query operators and complex expressions. The SDK supports CRUD, pagination, aggregation pipelines, and geo-queries, while MiniProgram runtime provides built-in authentication and cloud context access.

When to use it

  • Building MiniProgram features that need persistent structured storage (todos, profiles, posts).
  • Performing complex reads with filters, joins, or aggregation (analytics, dashboards).
  • Implementing location-aware features using geolocation queries (nearby search).
  • Needing serverless data access without maintaining a separate backend.
  • Working with paginated lists or cursor-based infinite scroll UIs.

Best practices

  • Define TypeScript types and a model layer for each collection to enforce schema and reduce runtime errors.
  • Prefix collection names consistently per project or domain to avoid collisions.
  • Configure and test database security rules before enabling write operations.
  • Use db.command operators for server-side filtering and atomic updates rather than client-side joins or merges.
  • Use pagination and limit clauses to avoid fetching large datasets at once.

Example use cases

  • A task manager MiniProgram: create, query, and update todo items with typed models and pagination.
  • A local business finder: store locations and use geolocation queries to return nearby results.
  • An analytics view: run aggregation pipelines to compute daily active counts or top items.
  • A social feed: combine complex queries and pagination to power infinite-scroll post lists.

FAQ

Do I need to implement user login to access the database?

No. WeChat MiniProgram cloud capabilities include built-in authentication; user identity is available in cloud functions via wxContext.OPENID.

How do I target a specific CloudBase environment?

Pass an env id to wx.cloud.database({ env: 'your-env-id' }) when creating the db reference.