Parse Server

repository·alpha·Indexed 12 days ago

https://github.com/parse-community/parse-server

An open-source backend framework for Node.js and an Express module providing a Parse-compatible API server. It enables managing data, files, and users, supporting MongoDB (versions 7 and 8) and PostgreSQL (versions 16, 17, and 18) databases. Version 9.10.1-alpha.6.

Tokens
50.1K
Snippets
175
Records
401
Agent score
96%

What's inside Parse Server

  1. Overview of Parse Server

    alpha
    Parse Server is an open-source backend that runs on any infrastructure capable of running Node.js. It is built on top of the Express web application framework and can be integrated into existing web applications or run as a standalone service. It provides capabilities for saving and querying objects, managing files, and handling authentication.
  2. Access internal Parse Server fields with maintenanceKey

    alpha

    In version 6.0.0-beta.1, a new maintenanceKey was introduced to allow access to the internal scope of Parse Server. This scope contains undocumented fields (prefixed with an underscore _) used for internal operations.

    Warning:

    • Use this key for out-of-band tasks like data migrations or corrections, not for routine production operations.
    • Internal fields are subject to change without notice.
    • The masterKey no longer provides access to these internal fields; only the maintenanceKey can do so.
    // Example concept: using maintenanceKey to access internal fields
    // Note: Actual implementation details depend on the specific internal field being accessed
    const internalData = await parseServer.accessInternalScope({ maintenanceKey: 'YOUR_MAINTENANCE_KEY' });
  3. Configure file storage adapters

    alpha

    Parse Server supports several file hosting options. By default, it uses GridFSBucketAdapter (backed by MongoDB), which requires no additional setup. Other available adapters include:

    • GridFSBucketAdapter: MongoDB-backed (default).
    • S3Adapter: Amazon S3-backed.
    • GCSAdapter: Google Cloud Storage-backed.
    • FSAdapter: Local file system storage.

    Official adapters are distributed as scoped packages on npm under the @parse scope.

  4. Breaking Changes in Parse Server v5.0.0-beta.10

    alpha

    When upgrading to 5.0.0-beta.10, be aware of the following breaking changes:

    • Node.js Requirement: Requires Node.js version >=12.22.10.
    • GridStore Removal: The MongoDB GridStore adapter has been removed. Parse Server now uses GridFS by default. If you were manually using the GridStore adapter, you must migrate to GridFS.
    • Node 15 Support: Official support for Node 15 has been removed as it reached end-of-life.
  5. Access internal scope with maintenanceKey

    alpha

    In version 6.0.0-alpha.23, a new maintenanceKey was introduced to access the internal scope of Parse Server. The internal scope contains undocumented fields (prefixed with _) used for out-of-band tasks like data migration.

    Warning: Using maintenanceKey for routine production operations is discouraged. Changes to the internal scope can happen at any time without notice.

    Breaking Change: As of 6.0.0-alpha.23, the masterKey no longer allows reading internal fields (prefixed with _); these are now only accessible via the maintenanceKey.

    // Example configuration concept
    const options = {
      maintenanceKey: 'YOUR_MAINTENANCE_KEY'
    };
  6. Understand Parse Server multi-tenancy limitations

    alpha

    Parse Server does not support multi-tenancy.

    • Only one Parse Server instance can be mounted per Express application.
    • There is no isolation between apps running in the same process.
    • Security Warning: Cloud Code runs in the same Node.js process as Parse Server and has full access to the server environment, including configuration, modules, and environment variables.