如何在将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