日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

C# 生成 MongoDB 中的 ObjectId

發布時間:2024/1/17 C# 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C# 生成 MongoDB 中的 ObjectId 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

ObjectId介紹

在MongoDB中,文檔(document)在集合(collection)中的存儲需要一個唯一的_id字段作為主鍵。這個_id默認使用ObjectId來定義,因為ObjectId定義的足夠短小,并盡最大可能的保持唯一性,同時能被快速的生成。

ObjectId?是一個 12 Bytes 的?BSON?類型,其包含:

  • 4 Bytes 自紀元時間開始的秒數
  • 3 Bytes 機器描述符
  • 2 Bytes 進程ID
  • 3?Bytes 隨機數
  • 從定義可以看出,在同一秒內,在不同的機器上相同進程ID條件下,非常有可能生成相同的ObjectId。
    同時可以根據定義判斷出,在給定條件下,ObjectId本身即可描述生成的時間順序

    ObjectId的存儲使用Byte數組,而其展現需將Byte數組轉換成字符串進行顯示,所以通常我們看到的ObjectId都類似于:

    ObjectId("507f191e810c19729de860ea")

    C#定義ObjectId類

    View Code

    C#實現ObjectId的生成器

    View Code

    使用舉例

    1 class Program 2 { 3 static void Main(string[] args) 4 { 5 Console.ForegroundColor = ConsoleColor.Red; 6 7 ObjectId emptyOid = ObjectId.Empty; 8 Console.WriteLine(emptyOid); 9 10 Console.WriteLine(); 11 Console.ForegroundColor = ConsoleColor.Green; 12 13 for (int i = 0; i < 10; i++) 14 { 15 ObjectId oid = ObjectId.NewObjectId(); 16 Console.WriteLine(oid); 17 } 18 19 Console.WriteLine(); 20 Console.ForegroundColor = ConsoleColor.Blue; 21 22 ObjectId existingOid; 23 ObjectId.TryParse("507f191e810c19729de860ea", out existingOid); 24 Console.WriteLine(existingOid); 25 26 Console.ReadKey(); 27 } 28 }







    本文轉自匠心十年博客園博客,原文鏈接:http://www.cnblogs.com/gaochundong/archive/2013/04/24/csharp_generate_mongodb_objectid.html,如需轉載請自行聯系原作者

    總結

    以上是生活随笔為你收集整理的C# 生成 MongoDB 中的 ObjectId的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。