2013-01-12 156 views
4

我有一個基於MongoDB的應用程序,它使用12字節objectid作爲主鍵和用戶標識,並且我有另一個使用Mysql的Django應用程序,並且需要繼承從mongodb生成的用戶標識(繼承意味着不會創建新的id,而只是存儲來自mongodb的id,並將它用作任何可能的外鍵)。將Mongodb ObjectId映射到Mysql ID字段

什麼是最佳的解決方案,

  1. 要使用什麼樣的數據類型來表達蒙戈對象ID在MySQL?二進制(12)?
  2. 考慮使用Django,使用二進制文件(12)需要額外的插件嗎?
  3. 或與上述不同的解決方案?

謝謝。

+0

你爲什麼不簡單地將objectid投射到字符串。 –

+0

是的,它可能是我的最後一個解決方案,因爲字符串的長度似乎太長,它是24個字符。所以我正在尋求一個比第一個更好的解決方案。 –

+0

二元期權看起來很不錯。或者,停止使用來自MongoDb的內置ObjectId,並使用對您的其他解決方案更友好的東西。 – WiredPrairie

回答

5

我一直在使用BINARY(12)VARCHAR(24)來存儲MySQL中的MongoDB的ObjectIds。 BINARY(12)使用較少的磁盤空間,但您需要使用HEX()以字符串形式使用它。

相關問題