sql >> Databáze >  >> NoSQL >> MongoDB

Použití Mongo / BSON ObjectId s Parse Server

Zjistil jsem, jak Parse Server generuje nové ID při vytvoření zde .Dokumentace komentářů výše uvádí, že níže uvedená funkce je volána za účelem generování nového ID pro Parse Server.

Stále nevím, proč musí vytvořit id svým způsobem, než používat Mongoovo nativní. Pomůže to snadno odstranit závislost Parse Server.

Níže naleznete kód v c#, který používám ke generování nového id, jako je parse server. Netestoval jsem to se všemi aspekty, ale myslím, že projde většinou, ne-li všemi testovacími případy ostatních.

    /// <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);
    }

Doufám, že tento ukázkový kód pomůže znovu vytvořit logiku ve vašem preferovaném jazyce.




  1. počítejte výskyty polí ve všech dokumentech pomocí mongo

  2. Použijte createView s allowDiskUse

  3. Úvod do datových struktur Redis:Seřazené sady

  4. mongodb schema.createIndex není funkce