mcpField
C
cloudbase-document-database-in-wechat-miniprogram

cloudbase-document-database-in-wechat-miniprogram

github.com/tencentcloudbaseデータ・データベース791.5k 回インストール今日更新
リポジトリ

cloudbase-document-database-in-wechat-miniprogram について

このスキルは、wx.cloud.database()を使ったWeChatミニプログラムからのCloudBaseドキュメントデータベース利用をコーディングエージェント向けに案内します。ミニプログラム固有のCRUD、クエリ、ページネーション、集計、位置情報、安全ルールを扱います。

主な機能

  1. 01ミニプログラム向けDB初期化
  2. 02コレクションCRUDとドキュメント参照
  3. 03クエリ、ページネーション、集計
  4. 04位置情報クエリ
  5. 05所有権とセキュリティルールの案内

活用シーン

  1. 01ミニプログラムのコレクション操作実装
  2. 02ページネーションや集計クエリの追加
  3. 03位置情報を使うデータベース検索の構築
  4. 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.md
complex-queries.md
crud-operations.md
geolocation.md
LICENSE.md
pagination.md
security-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

コーディングエージェントの作業ルール

  1. ミニプログラムのコードは、ミニプログラムに適した形に保つ

    • wx.cloud.database() を使用します。
    • ブラウザー SDK の初期化パターンに置き換えないでください。
  2. 所有者フィールドを適切に扱う

    • SDK による書き込みでは、_openid はシステムによって管理されます。
    • .add()、.set()、.update() のペイロードで _openid を手動設定または上書きしないでください。
  3. セキュリティルールがリクエストを検証することを忘れない

    • ルールで所有者に関する条件が必要な場合、クエリの形式はそのルールのモデルに適合している必要があります。
    • 権限エラーは通常、ユーザーがログアウトしているだけでなく、ルールとクエリの関係が正しくないことを示します。
  4. 管理者向けの操作はバックエンドのフローに振り分ける

    • 強い権限を持つ全体的なアクセスが必要なタスクでは、ミニプログラムのクライアントコードからその経路を直接公開せず、バックエンドのツールまたは関数を使用します。

クイック例

基本的なコレクションアクセス
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();

ベストプラクティス

  1. 明確なコレクションの命名規則を作成します。
  2. 可能な場合は、アプリケーションコードで型付きラッパーまたはモデルヘルパーを使用します。
  3. 実際の所有権と共有のパターンに基づいてルールを設計します。
  4. 上限のない大規模な読み取りではなく、ページネーションを使用します。
  5. 管理・運用ロジックはバックエンドコードに置き、ミニプログラムから直接アクセスさせないようにします。

コメント