如何在將JSON字符串插入到MongoDB之前提取對象ID?
另外如何將對象ID設置爲主鍵?從JSON字符串中提取ObjectId
2
A
回答
0
首先,MongoDB自己生成ObjectID("507f191e810c1972xxxxx")
(如果你沒有設置它的話)。正如docs中提到的:
所有的MongoDB文檔都必須有一個帶唯一值的_id字段。這些操作沒有明確指定_id字段的值,所以mongo在將字段插入集合之前爲該字段創建唯一的ObjectId值。
這篇文章ObjectID描述了BSON ObjectID規範。該格式包括:
- 時間戳。這是一個unix風格的時間戳。它是一個有符號整數,表示1970年1月1日之前或之後秒數(UTC)012秒。
- 機器。這是計算機主機名稱的(md5)散列的前三個字節,或者MAC /網絡地址或虛擬機器ID。
- Pid。這是生成對象ID的進程的進程ID(或線程ID)的2個字節。
- 遞增。這是一個不斷遞增的值,或者如果計數器不能在語言/運行時使用,則是一個隨機數。
服務器本身和幾乎所有的驅動程序都使用上述格式。
插入成功後,_id
包含ObjectID("507f191e810c1972xxxxx")
被大多數驅動程序返回。
主鍵&指數:
_id
字段被保留在MongoDB中的主鍵,這應該是一個獨特的價值。如果您沒有設置任何內容到
_id
,它將自動生成
ObjectID("507f191e810c1972xxxxx")
,如上所述。
MongoDB創建默認_id
索引,該索引是_id
字段上的唯一索引。 MongoDB默認在所有集合上創建這個索引。您無法刪除_id
上的索引。欲瞭解更多信息,這裏是link
-1
有很多JSON庫,你可以使用,例如,谷歌的GSON: https://code.google.com/p/google-gson/ 你加入,你可以使用的方法fromJson方法來獲取對象的JAR文件之後。 http://google-gson.googlecode.com/svn/trunk/gson/docs/javadocs/index.html
相關問題
- 1. 從json字符串中提取值
- 2. 從JSON字符串中提取整數?
- 3. 從json字符串中提取值javascript
- 4. 從Json字符串中提取數據
- 5. 從json日期字符串中提取日期到字符串
- 6. 從字符串中提取字符串
- 7. 從JSON字符串提取鍵
- 8. 從字符串中提取
- 9. 從字符串中提取
- 10. 從字符串中提取字符
- 11. 從字符串中提取字符
- 12. 是否可以從JSON字符串中提取JSON模式?
- 13. 從字符串中提取json數據包含json數據
- 14. 從Json獲取字符串?
- 15. 獲取從JSON字符串
- 16. 從Json獲取字符串
- 17. JSON字符串提取到字段
- 18. 從twitter中提取字段JSON字符串
- 19. 從字符串中提取子串
- 20. 從字符串中提取子串
- 21. 從字符串中提取符號
- 22. ios - 如何從JSON格式的另一個字符串中提取字符串?
- 23. 從字符串中提取一個字
- 24. 從字符串中提取數字
- 25. iMacros:從字符串中提取數字
- 26. 從字符串中提取數字
- 27. 從字符串中提取數字
- 28. 從字符串中提取數字? Java
- 29. R - 從字符串中提取數字
- 30. 從字符串中提取數字
請提供一個正確的答案。是否有任何方法來查找json字符串的編號 – chopu
如果您的類型有一個ID作爲屬性,您使用fromJSON方法,你得到你的對象,然後使用點符號來獲得它的ID – Tal87