Saya menemukan bagaimana Server Parse menghasilkan Id baru pada pembuatan di sini .Dokumentasi komentar di atas menyatakan bahwa fungsi di bawah ini dipanggil untuk menghasilkan id baru untuk Parse Server.
Saya masih tidak tahu mengapa ia harus membuat id dengan caranya sendiri daripada menggunakan yang asli Mongo. Ini akan membantu untuk menghapus ketergantungan Parse Server dengan mudah.
Silakan temukan kode di bawah ini di c# yang saya gunakan untuk menghasilkan id baru seperti server parse. Saya belum mengujinya dengan semua aspek tetapi, saya pikir itu akan melewati sebagian besar jika tidak semua kasus uji orang lain.
/// <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);
}
Saya harap kode contoh ini membantu membuat ulang logika dalam bahasa pilihan Anda.