跳到主要内容
知仓学习社ZHICANG

cloudbase-document-database-web-sdk

Use CloudBase document database Web SDK to query, create, update, and delete data. Supports complex queries, pagination, aggregation, and geolocatio…

联网无严重或高危命中Microck/ordinary-claude-skills

它会碰到什么

扫了多少2 个文本文件,6 KB
它会碰到什么联网
命中总数1 处
命中统计严重 0 · 高 0 · 中 0 · 低 1

这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。

技能内容

CloudBase Document Database Web SDK

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

Core Concepts

Initialization

Before using any database operations, initialize the CloudBase SDK:

import cloudbase from "@cloudbase/js-sdk";
// UMD version
// If you are not using npm, And want to use UMD version instead. You should refer to https://docs.cloudbase.net/quick-start/#web-%E5%BF%AB%E9%80%9F%E4%BD%93%E9%AA%8C for latest version of UMD version.

const app = cloudbase.init({
  env: "your-env-id", // Replace with your environment id
});


const db = app.database();
const _ = db.command; // Get query operators

// ... login

Initialization rules (Web, @cloudbase/js-sdk):

  • Always use synchronous initialization with the pattern above
  • Do not lazy-load the SDK with import("@cloudbase/js-sdk")
  • Do not wrap SDK initialization in async helpers such as initCloudBase() with internal initPromise caches

Remember to sign in(auth) is *REQUIRED before actually querying the database.

Collection Reference

Access collections using:

db.collection('collection-name')

Query Operators

CloudBase provides query operators via db.command (aliased as _):

  • _.gt(value) - Greater than
  • _.gte(value) - Greater than or equal
  • _.lt(value) - Less than
  • _.lte(value) - Less than or equal
  • _.eq(value) - Equal to
  • _.neq(value) - Not equal to
  • _.in(array) - Value in array
  • _.nin(array) - Value not in array

Basic Operations

Query Single Document

Query by document ID:

const result = await db.collection('todos')
    .doc('docId')
    .get();

Query Multiple Documents

Query with conditions:

const result = await db.collection('todos')
    .where({
        completed: false,
        priority: 'high'
    })
    .get();

Note: get() returns 100 records by default, maximum 1000.

Query Methods Chaining

Combine methods for complex queries:

  • .where(conditions) - Filter conditions
  • .orderBy(field, direction) - Sort by field ('asc' or 'desc')
  • .limit(number) - Limit results (default 100, max 1000)
  • .skip(number) - Skip records for pagination
  • .field(object) - Specify fields to return (true/false)

Advanced Features

For detailed information on specific topics, refer to:

CRUD Operations

See ./crud-operations.md for:

  • Creating documents (add, batch add)
  • Updating documents (partial updates, operators)
  • Deleting documents (conditional delete, soft delete)
  • Complete CRUD manager examples

Complex Queries

See ./complex-queries.md for:

  • Using query operators
  • Combining multiple conditions
  • Field selection
  • Sorting and limiting results

Pagination

See ./pagination.md for:

  • Implementing page-based navigation
  • Calculating skip and limit values
  • Cursor-based pagination
  • Infinite scroll patterns

Aggregation Queries

See ./aggregation.md for:

  • Grouping data
  • Statistical calculations
  • Pipeline operations
  • Time-based aggregations

Geolocation Queries

See ./geolocation.md for:

  • Proximity searches
  • Area-based queries
  • Geographic indexing requirements
  • Distance-based features

Security Rules

See ./security-rules.md for:

  • Configuring database permissions
  • Simple permissions vs custom rules
  • Permission categories and usage
  • Security rule syntax and examples

Common Patterns

Error Handling

Always wrap database operations in try-catch:

try {
    const result = await db.collection('todos').get();
    console.log(result.data);
} catch (error) {
    console.error('Database error:', error);
}

Return Value Structure

Database operations return:

{
    data: [...], // Array of documents
    // Additional metadata
}

Important Notes

  1. Environment ID: Replace "your-env-id" with actual CloudBase environment ID
  2. Default Limits: get() returns 100 records by default
  3. Collection Names: Use string literals for collection names
  4. Geolocation Index: Geographic queries require proper indexing
  5. Async/Await: All database operations are asynchronous

Best Practices

  1. Initialize SDK once at application startup
  2. Reuse database instance across the application
  3. Use query operators for complex conditions
  4. Implement pagination for large datasets
  5. Select only needed fields to reduce data transfer
  6. Handle errors appropriately
  7. Create indexes for frequently queried fields

Quick Reference

Common query examples:

// Simple query
db.collection('todos').where({ status: 'active' }).get()

// With operators
db.collection('users').where({ age: _.gt(18) }).get()

// Pagination
db.collection('posts')
    .orderBy('createdAt', 'desc')
    .skip(20)
    .limit(10)
    .get()

// Field selection
db.collection('users')
    .field({ name: true, email: true, _id: false })
    .get()

For more detailed examples and advanced usage patterns, refer to the companion reference files in this directory.

想直接用这个技能?

本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。

同名技能的其他版本

有 4 个不同仓库或目录里都有叫 cloudbase-document-database-web-sdk 的技能。它们内容并不相同,别混用: