iT邦幫忙

0

Mongodb primary key 設定問題(ASP.NET Core)[已解決]

  • 分享至 

  • xImage

抱歉新手弱弱的問一下,我有一個 ASP dot NET Core 專案,目前是在測試CRUD,資料庫是使用Mongodb,看了教學試做一次後,發現資料庫裡的ID和我設定類別裡的ID各自生成了一組ID,從DB結構來看,我在類型裡設定的ID被當成一般資料,主要用途可能是被用來網頁呼叫資料庫時所使用的索引(我的猜測),那麼想請問一下,這兩組ID有可能被整合成一個嗎?
https://ithelp.ithome.com.tw/upload/images/20220211/2014330402Iw4FGsLY.png
更新一下,
這是我最後解決的方法:

[BsonRepresentation(BsonType.ObjectId)]
        
        public string? Id { get; set; }

controller新增ID那邊將 ObjectId轉換成字串

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

1
iT邦新手 1 級 ‧ 2022-02-11 21:06:46
最佳解答

我沒用過 ASP dot NET Core ,也弱弱的提供一下我的想法。

我看你的意思,是不是想在 DB 裡只存一個 id ,供兩者使用?
但兩者格式看起來不同。
ASP dot NET Core 類別的 id 可以使用跟 mongoDB 一樣的格式嗎?

可以的話,可以試試以下兩種方法:

  1. 直接用 ObjectId(), 如 _id=ObjectId(),生成 _id 後送 mongoDB。然後再把ObjectId(_id).str 給類別用來判斷。
  2. 或是 mongoDB 回傳後的 _id 再給類別用。
andow1198 iT邦新手 4 級 ‧ 2022-02-15 08:58:15 檢舉

謝謝杯大,是的,這是我想問的問題,感覺您提供的策略很有機會,我去試試看。/images/emoticon/emoticon33.gif

1
海綿寶寶
iT邦大神 1 級 ‧ 2022-02-11 11:20:30

有可能

同一組 ID:就是 Update
不同 ID:就是 INSERT

andow1198 iT邦新手 4 級 ‧ 2022-02-11 11:24:16 檢舉

了解,收到! 謝謝海綿大 /images/emoticon/emoticon57.gif

我要發表回答

立即登入回答