Skip to main content

Known differences

  1. FerretDB uses the same protocol error names and codes, but the exact error messages may be different in some cases.
  2. FerretDB does not support NUL (\0) characters in strings.
  3. FerretDB does not support nested arrays.
  4. Document keys must not contain $ or . signs.
  5. When insert command is called, insert documents must not have duplicate keys.
  6. Database and collection names restrictions:
    • name cannot start with the reserved prefix _ferretdb_;
    • database name must not include non-latin letters, spaces, dots, dollars or dashes;
    • collection name must not include non-latin letters, spaces, dots or dollars;
    • name must not start with a number;
    • database name cannot contain capital letters;
    • database name length cannot be more than 63 characters;
    • collection name length cannot be more than 120 characters.
  7. For Tigris, FerretDB requires Tigris schema validation for create command: validator must be set as $tigrisSchemaString. The value must be a JSON string representing JSON schema in Tigris format.

If you encounter some other difference in behavior, please join our community to report a problem.