sql >> Base de Datos >  >> NoSQL >> MongoDB

Usando Mongo / BSON ObjectId con Parse Server

Encontré cómo Parse Server genera una nueva identificación en la creación L16">aquí .La documentación de comentarios anterior indica que se llama a la siguiente función para generar una nueva identificación para Parse Server.

Todavía no sé por qué tiene que crear una identificación a su manera en lugar de usar la nativa de Mongo. Ayudará a eliminar fácilmente la dependencia de Parse Server.

Encuentre el código a continuación en C# que estoy usando para generar una nueva identificación como el servidor de análisis. No lo he probado con todos los aspectos, pero creo que pasará la mayoría, si no todos, los casos de prueba de los demás.

    /// <summary>
    /// Randoms the string.
    /// </summary>
    /// <param name="length">The length.</param>
    /// <returns></returns>
    public static string RandomString(int length)
    {
        string chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" + "abcdefghijklmnopqrstuvwxyz" + "0123456789";
        StringBuilder res = new();
        using (RNGCryptoServiceProvider rng = new())
        {
            byte[] uintBuffer = new byte[sizeof(uint)];

            while (length-- > 0)
            {
                rng.GetBytes(uintBuffer);
                uint num = BitConverter.ToUInt32(uintBuffer, 0);
                res.Append(chars[(int)(num % (uint)chars.Length)]);
            }
        }

        return res.ToString();
    }

    /// <summary>
    /// Gets the new object identifier.
    /// </summary>
    /// <param name="size">The size.</param>
    /// <returns></returns>
    public static string GetNewObjectId(int size = 10)
    {
        return RandomString(size);
    }

Espero que este código de muestra ayude a recrear la lógica en su idioma preferido.