MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Używanie Mongo / BSON ObjectId z Parse Server

Odkryłem, jak Parse Server generuje nowy identyfikator przy tworzeniu tu .Powyższa dokumentacja komentarza stwierdza, że ​​poniższa funkcja jest wywoływana w celu wygenerowania nowego identyfikatora dla Parse Server.

Wciąż nie wiem, dlaczego musi tworzyć identyfikator na swój sposób, zamiast używać rodzimego Mongo. Pomoże to w łatwym usunięciu zależności Parse Server.

Znajdź poniższy kod w c#, którego używam do generowania nowego identyfikatora, takiego jak serwer analizy. Nie testowałem tego we wszystkich aspektach, ale myślę, że przejdzie większość, jeśli nie wszystkie przypadki testowe innych.

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

Mam nadzieję, że ten przykładowy kod pomoże odtworzyć logikę w preferowanym języku.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Czy po opróżnieniu sesji nadal mogę uzyskać dostęp do aspektu kontaktu Sitecore?

  2. Dynamiczny predykat Linq zgłasza błąd nieobsługiwanego filtra ze sterownikiem C# MongoDB

  3. RoR :Mongoid i forma tworzą hasz

  4. Długi akumulator zamiast Double w funkcji group() MongoDB

  5. Jak znaleźć losowe rekordy w mongodb