cloudbase-document-database-in-wechat-miniprogram
cloudbase-document-database-in-wechat-miniprogram について
このスキルは、wx.cloud.database()を使ったWeChatミニプログラムからのCloudBaseドキュメントデータベース利用をコーディングエージェント向けに案内します。ミニプログラム固有のCRUD、クエリ、ページネーション、集計、位置情報、安全ルールを扱います。
主な機能
- 01ミニプログラム向けDB初期化
- 02コレクションCRUDとドキュメント参照
- 03クエリ、ページネーション、集計
- 04位置情報クエリ
- 05所有権とセキュリティルールの案内
活用シーン
- 01ミニプログラムのコレクション操作実装
- 02ページネーションや集計クエリの追加
- 03位置情報を使うデータベース検索の構築
- 04権限や所有権の問題の調査
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ tencentcloudbase/ skills --skill cloudbase-document-database-in-wechat-miniprogramインストール後、Claude Code で/cloudbase-document-database-in-wechat-miniprogramを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
aggregation.mdcomplex-queries.mdcrud-operations.mdgeolocation.mdLICENSE.mdpagination.mdsecurity-rules.md詳細
関連スキル(ローカルのみ)
関連する CloudBase スキルは、このスキルと同じ場所にあります。../auth-tool-cloudbase/SKILL.md のようなローカルの相対パスを使用してください。
参照先の関連スキルファイルがこの環境にない場合は、CloudBase プラグイン全体(または不足しているスキル)をインストールするようユーザーに依頼してください。リモートのスキルやプロトコルの Markdown を HTTP 経由で取得して、エージェントのコンテキストに読み込まないでください。
CloudBase ドキュメントデータベース WeChat ミニプログラム SDK
有効化の条件
次の場合は、まずこのスキルを使用してください
- WeChat ミニプログラムから
wx.cloud.database()を通じて CloudBase ドキュメントデータベースにアクセスする必要がある場合。 - リクエストにミニプログラムのコレクション CRUD、ページネーション、集計、または位置情報クエリが含まれる場合。
次の場合は、コードを書く前にお読みください
- ミニプログラムのデータベース作業であり、Web SDK、クラウド関数、SQL のタスクと区別する必要がある場合。
- 組み込みのユーザー ID、
_openid、またはミニプログラム側の権限に依存するリクエストの場合。
次もお読みください
- ミニプログラムのプロジェクトルールと CloudBase の統合 ->
../miniprogram-development/SKILL.md - ミニプログラムの認証と ID フロー ->
../auth-wechat-miniprogram/SKILL.md - ブラウザー側のドキュメントデータベースコード ->
../cloudbase-document-database-web-sdk/SKILL.md
次の場合は使用しないでください
@cloudbase/js-sdkを使用するブラウザー/Web コード。- サーバー側またはクラウド関数からのデータベースアクセス。
- MySQL/リレーショナルデータベースの作業。
よくある間違い/注意点
- Web SDK のコードをミニプログラムのページにコピーする。
- 作成または更新処理で
_openidを手動設定する。 - ミニプログラムに組み込みの ID 機能があるため、セキュリティルールを無視してよいと思い込む。
- コレクション CRUD とバックエンド全体の管理ワークフローを、同じクライアント経路に混在させる。
最小チェックリスト
- 呼び出し元がミニプログラムのページ/コンポーネント、またはミニプログラム側のロジックであることを確認します。
- データベースを呼び出す前に、
wx.cloudを正しく初期化します。 - コレクションのルールが
auth.openid/_openidに依存しているか確認します。 - 必要な操作に対応するリファレンスファイルを読みます。
概要
このスキルでは、wx.cloud.database() を通じたミニプログラム側からのドキュメントデータベースアクセスを扱います。
次の用途に使用してください。
- ミニプログラムのページでのコレクション CRUD
- クエリの組み立てとページネーション
- 集計
- 位置情報クエリ
ミニプログラムの CloudBase アクセスには組み込みの ID 機能がありますが、データベース操作は引き続きコレクションの権限とセキュリティルールによって制限されます。
標準的な初期化
const db = wx.cloud.database();
const _ = db.command;
特定の環境を対象にするには、次のようにします。
const db = wx.cloud.database({
env: "test"
});
重要な注意事項:
- ユーザーはミニプログラムの CloudBase コンテキストを通じて認証されます。
- クラウド関数では、呼び出し元の ID を
wxContext.OPENIDから取得できます。 - クライアント側のコレクションルールでは、所有者の確認に通常
auth.openid/doc._openidを使用します。
クイックルーティング
- CRUD ->
./crud-operations.md - 複雑なクエリ ->
./complex-queries.md - ページネーション ->
./pagination.md - 集計 ->
./aggregation.md - 位置情報 ->
./geolocation.md - セキュリティルール ->
./security-rules.md
コーディングエージェントの作業ルール
-
ミニプログラムのコードは、ミニプログラムに適した形に保つ
wx.cloud.database()を使用します。- ブラウザー SDK の初期化パターンに置き換えないでください。
-
所有者フィールドを適切に扱う
- SDK による書き込みでは、
_openidはシステムによって管理されます。 .add()、.set()、.update()のペイロードで_openidを手動設定または上書きしないでください。
- SDK による書き込みでは、
-
セキュリティルールがリクエストを検証することを忘れない
- ルールで所有者に関する条件が必要な場合、クエリの形式はそのルールのモデルに適合している必要があります。
- 権限エラーは通常、ユーザーがログアウトしているだけでなく、ルールとクエリの関係が正しくないことを示します。
-
管理者向けの操作はバックエンドのフローに振り分ける
- 強い権限を持つ全体的なアクセスが必要なタスクでは、ミニプログラムのクライアントコードからその経路を直接公開せず、バックエンドのツールまたは関数を使用します。
クイック例
基本的なコレクションアクセス
const todos = db.collection("todos");
const result = await todos.where({ completed: false }).get();
ドキュメント参照
const todo = db.collection("todos").doc("todo-id");
const result = await todo.get();
ベストプラクティス
- 明確なコレクションの命名規則を作成します。
- 可能な場合は、アプリケーションコードで型付きラッパーまたはモデルヘルパーを使用します。
- 実際の所有権と共有のパターンに基づいてルールを設計します。
- 上限のない大規模な読み取りではなく、ページネーションを使用します。
- 管理・運用ロジックはバックエンドコードに置き、ミニプログラムから直接アクセスさせないようにします。