FerretDB 1.0 āĻĒā§āĻ°āĻā§āĻā§āĻā§āĻ° āĻ°āĻŋāĻ˛āĻŋāĻ āĻĒā§āĻ°āĻāĻžāĻļāĻŋāĻ¤ āĻšāĻ¯āĻŧā§āĻā§, āĻ¯āĻž āĻāĻĒāĻ¨āĻžāĻā§ āĻ¨āĻĨāĻŋ-āĻāĻŋāĻ¤ā§āĻ¤āĻŋāĻ DBMS MongoDB-āĻā§ PostgreSQL-āĻāĻ° āĻ¸āĻžāĻĨā§ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻā§āĻĄā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ¨āĻž āĻāĻ°ā§āĻ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧāĨ¤ FerretDB āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻā§āĻ¸āĻŋ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ āĻ¯āĻž āĻŽāĻā§āĻā§āĻĄāĻŋāĻŦāĻŋ-āĻ¤ā§ āĻāĻ˛āĻā§āĻ˛āĻŋāĻā§ āĻāĻ¸āĻāĻŋāĻāĻāĻ˛ āĻā§āĻ¯āĻŧā§āĻ°āĻŋāĻ¤ā§ PostgreSQL-āĻ āĻ āĻ¨ā§āĻŦāĻžāĻĻ āĻāĻ°ā§, āĻ¯āĻž āĻāĻĒāĻ¨āĻžāĻā§ āĻĒā§āĻ°āĻā§āĻ¤ āĻ¸ā§āĻā§āĻ°ā§āĻ āĻšāĻŋāĻ¸āĻžāĻŦā§ PostgreSQL āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧāĨ¤ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ 1.0 āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤ āĻĒā§āĻ°āĻĨāĻŽ āĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻļā§āĻ˛ āĻĒā§āĻ°āĻāĻžāĻļ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻŋāĻšā§āĻ¨āĻŋāĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤ āĻā§āĻĄāĻāĻŋ Go-āĻ¤ā§ āĻ˛ā§āĻāĻž āĻāĻŦāĻ Apache 2.0 āĻ˛āĻžāĻāĻ¸ā§āĻ¨ā§āĻ¸ā§āĻ° āĻ āĻ§ā§āĻ¨ā§ āĻŦāĻŋāĻ¤āĻ°āĻŖ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤
FerretDB-āĻāĻ° āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ˛āĻā§āĻˇā§āĻ¯ āĻļā§āĻ°ā§āĻ¤āĻž āĻšāĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§ āĻ¯āĻžāĻ°āĻž āĻ¤āĻžāĻĻā§āĻ° āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻā§āĻ˛āĻŋāĻ¤ā§ MongoDB āĻāĻ¨ā§āĻ¨āĻ¤ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯āĻā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨ āĻ¨āĻž, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻāĻāĻŋ āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻāĻ¨ā§āĻŽā§āĻā§āĻ¤ āĻ¸āĻĢā§āĻāĻāĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻ¸ā§āĻā§āĻ¯āĻžāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻāĻžāĻ¨ā§ˇ āĻŦāĻŋāĻāĻžāĻļā§āĻ° āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧā§, āĻĢā§āĻ°ā§āĻāĻĄāĻŋāĻŦāĻŋ āĻŽāĻā§āĻā§āĻĄāĻŋāĻŦāĻŋ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯āĻā§āĻ˛āĻŋāĻ° āĻāĻāĻāĻŋ āĻāĻĒāĻ¸ā§āĻ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻ°ā§ āĻ¯āĻž āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻā§āĻ˛āĻŋāĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧāĨ¤ FerretDB āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§ MongoDB-āĻā§ āĻāĻāĻāĻŋ āĻ¨āĻ¨-āĻĢā§āĻ°āĻŋ SSPL āĻ˛āĻžāĻāĻ¸ā§āĻ¨ā§āĻ¸ā§ āĻ°ā§āĻĒāĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, āĻ¯ā§āĻāĻŋ AGPLv3 āĻ˛āĻžāĻāĻ¸ā§āĻ¨ā§āĻ¸ā§āĻ° āĻāĻĒāĻ° āĻāĻŋāĻ¤ā§āĻ¤āĻŋ āĻāĻ°ā§ āĻ¤ā§āĻ°āĻŋ, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻā§āĻ˛āĻž āĻ¨āĻ¯āĻŧ, āĻāĻžāĻ°āĻŖ āĻāĻ¤ā§ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° SSPL āĻ˛āĻžāĻāĻ¸ā§āĻ¨ā§āĻ¸ā§āĻ° āĻ āĻ§ā§āĻ¨ā§ āĻ¸āĻ°āĻŦāĻ°āĻžāĻš āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻŦā§āĻˇāĻŽā§āĻ¯āĻŽā§āĻ˛āĻ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧāĻ¤āĻž āĻ°āĻ¯āĻŧā§āĻā§āĨ¤ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻā§āĻĄ āĻ¨āĻŋāĻā§āĻ, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻā§āĻ˛āĻžāĻāĻĄ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻā§āĻ˛āĻŋāĻ° āĻŦāĻŋāĻ§āĻžāĻ¨ā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻĄāĻŧāĻŋāĻ¤ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻāĻĒāĻžāĻĻāĻžāĻ¨āĻā§āĻ˛āĻŋāĻ° āĻāĻ¤ā§āĻ¸ āĻā§āĻĄāĻā§ˇ
āĻŽāĻā§āĻā§āĻĄāĻŋāĻŦāĻŋ āĻĻā§āĻ°ā§āĻ¤ āĻāĻŦāĻ āĻŽāĻžāĻĒāĻ¯ā§āĻā§āĻ¯ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽāĻā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻāĻāĻāĻŋ āĻā§āĻ˛ā§āĻā§āĻāĻŋ āĻĻāĻāĻ˛ āĻāĻ°ā§ āĻ¯āĻž āĻā§/āĻŽā§āĻ˛ā§āĻ¯ āĻĄā§āĻāĻž āĻāĻŦāĻ āĻ°āĻŋāĻ˛ā§āĻļāĻ¨āĻžāĻ˛ āĻĄāĻŋāĻŦāĻŋāĻāĻŽāĻāĻ¸āĻā§āĻ˛āĻŋāĻ¤ā§ āĻāĻžāĻ āĻāĻ°ā§ āĻ¯ā§āĻā§āĻ˛āĻŋ āĻāĻžāĻ°ā§āĻ¯āĻāĻ°ā§ āĻāĻŦāĻ āĻ āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻāĻ°āĻž āĻ¸āĻšāĻā§ˇ MongoDB JSON-āĻāĻ° āĻŽāĻ¤ā§ āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸ā§ āĻ¨āĻĨāĻŋ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°āĻ¤ā§ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻ°ā§, āĻĒā§āĻ°āĻļā§āĻ¨ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻŽā§āĻāĻžāĻŽā§āĻāĻŋ āĻ¨āĻŽāĻ¨ā§āĻ¯āĻŧ āĻāĻžāĻˇāĻž āĻ°āĻ¯āĻŧā§āĻā§, āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻ¸āĻāĻ°āĻā§āĻˇāĻŋāĻ¤ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¸ā§āĻā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻĻāĻā§āĻˇāĻ¤āĻžāĻ° āĻ¸āĻžāĻĨā§ āĻŦāĻĄāĻŧ āĻŦāĻžāĻāĻ¨āĻžāĻ°āĻŋ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ¸ā§āĻā§āĻ°ā§āĻ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§, āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ā§ āĻĄā§āĻāĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻŦāĻ āĻ¯ā§āĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨ āĻ˛āĻāĻŋāĻ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻ°ā§, āĻĒā§āĻ¯āĻžāĻ°āĻžāĻĄāĻžāĻāĻŽ āĻŽā§āĻ¯āĻžāĻĒ/āĻ°āĻŋāĻĄā§āĻ¸ āĻ āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§ āĻāĻžāĻ āĻāĻ°ā§, āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻ°ā§ āĻāĻŦāĻ āĻ¤ā§āĻ°ā§āĻāĻŋ-āĻ¸āĻšāĻ¨āĻļā§āĻ˛ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĨ¤
FerretDB 1.0 āĻāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§:
- āĻāĻāĻāĻŋ āĻ¸āĻāĻā§āĻ°āĻšā§ āĻāĻ āĻŦāĻž āĻāĻāĻžāĻ§āĻŋāĻ āĻ¸ā§āĻāĻ āĻ¤ā§āĻ°āĻŋ āĻāĻŦāĻ āĻĄā§āĻ°āĻĒ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ CreateIndexes āĻāĻŦāĻ dropIndexes āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤
- getMore āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ āĻĢāĻ˛āĻžāĻĢāĻ˛ā§āĻ° āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ āĻāĻļ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¯ā§ āĻāĻŽāĻžāĻ¨ā§āĻĄāĻā§āĻ˛āĻŋāĻā§ āĻāĻāĻāĻŋ āĻāĻžāĻ°ā§āĻ¸āĻžāĻ° āĻĢā§āĻ°āĻ¤ āĻĻā§āĻ¯āĻŧ, āĻ¯ā§āĻŽāĻ¨ āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻāĻŦāĻ āĻ¸āĻŽāĻˇā§āĻāĻŋāĨ¤
- āĻā§āĻ°ā§āĻĒ āĻŽāĻžāĻ¨ā§āĻ° āĻ¸āĻŽāĻˇā§āĻāĻŋ āĻāĻŖāĻ¨āĻž āĻāĻ°āĻ¤ā§ $āĻ¸āĻŽ āĻ ā§āĻ¯āĻžāĻā§āĻ°āĻŋāĻā§āĻļāĻ¨ āĻ āĻĒāĻžāĻ°ā§āĻāĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤
- āĻ¸āĻāĻā§āĻ¯āĻž āĻ¸ā§āĻŽāĻŋāĻ¤ āĻāĻ°āĻ¤ā§ $limit āĻāĻŦāĻ $skip āĻ āĻĒāĻžāĻ°ā§āĻāĻ°āĻĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ āĻāĻŦāĻ āĻ¨āĻĨāĻŋāĻā§āĻ˛āĻŋ āĻāĻāĻ¤ā§āĻ°āĻŋāĻ¤ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻĄāĻŧāĻŋāĻ¯āĻŧā§ āĻ¯ā§āĻ¤ā§āĨ¤
- āĻāĻāĻ¤ā§āĻ°āĻŋāĻ¤ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ¨āĻĨāĻŋ āĻāĻŖāĻ¨āĻž āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ $count āĻ āĻĒāĻžāĻ°ā§āĻāĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤
- āĻāĻ¨āĻāĻžāĻŽāĻŋāĻ āĻĄāĻā§āĻŽā§āĻ¨ā§āĻā§ āĻ ā§āĻ¯āĻžāĻ°ā§ āĻĢāĻŋāĻ˛ā§āĻĄ āĻĒāĻžāĻ°ā§āĻ¸ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ $unwind āĻ āĻĒāĻžāĻ°ā§āĻāĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ āĻāĻŦāĻ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻ ā§āĻ¯āĻžāĻ°ā§āĻ° āĻāĻĒāĻžāĻĻāĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻāĻ˛āĻžāĻĻāĻž āĻĄāĻā§āĻŽā§āĻ¨ā§āĻ āĻ¸āĻš āĻāĻāĻāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤
- āĻ¸āĻāĻā§āĻ°āĻš āĻāĻŦāĻ āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ āĻĒāĻ°āĻŋāĻ¸āĻāĻā§āĻ¯āĻžāĻ¨ āĻāĻŦāĻ āĻĄā§āĻāĻž āĻāĻāĻžāĻ° āĻĒā§āĻ¤ā§ collStats, dbStats āĻāĻŦāĻ dataSize āĻāĻŽāĻžāĻ¨ā§āĻĄā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻļāĻŋāĻ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤
āĻāĻ¤ā§āĻ¸: opennet.ru