从字符串转换为MongoDB ObjectID

坦美·瓦斯塔

我尝试将我的String ID转换为MongoDB ObjectID

public class relevancy_test extends  Object implements Comparable<ObjectId> {
    public static void main(String[] args) throws UnknownHostException {
        MongoClient mongo = new MongoClient("localhost", 27017);
        DB mydb = mongo.getDB("test");
        DBCollection mycoll = mydb.getCollection("mytempcoll");
        BasicDBObject query = null;
        Map<ObjectId, DBObject> updateMap = new HashMap<ObjectId, DBObject>();
        List<DBObject> dbobj = null;
        DBCursor cursor = mycoll.find();
        dbobj = cursor.toArray();

        for (DBObject postObj : dbobj) {
            String id = postObj.get("_id").toString();
            ObjectId objId = new ObjectId((String) postObj.get("_id"));
            updateMap.put(objId, postObj);
        }
    }
}

(String) postObj.get("_id")是表格"8001_469437317594492928_1400737805000"

运行时出现以下错误

Exception in thread "main" java.lang.IllegalArgumentException: invalid ObjectId [8001_469437317594492928_1400737805000]
    at org.bson.types.ObjectId.<init>(ObjectId.java:181)
    at org.bson.types.ObjectId.<init>(ObjectId.java:167)
    at fetch_data_tanmay.relevancy_test.main(relevancy_test.java:48)
瓦济姆·达布拉沃斯基

我看到这里有两个问题:

  1. 如何获取ObjectID实例的正确ID?

该值8001_469437317594492928_1400737805000不是您可以在数据库中看到的十六进制值,而是时间,机器ID,PID和计数器组成部分的明确串联。该组件用于生成十六进制值。要获取十六进制值,您需要使用ObjectID实例的方法ToString。

参考此处对ObjectID组件的解释:https : //api.mongodb.com/java/3.0/org/bson/types/ObjectId.html

  1. 如何使用特定ID创建ObjectId实例

为了创建具有特定十六进制值的新ObjectID实例,请使用以下命令: var objectId = new ObjectId(hexStringId)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

MongoDB聚合项目字符串转换为ObjectId

来自分类Dev

从字符串转换ObjectID?

来自分类Dev

如何将$ project ObjectId转换为mongodb中的字符串值?

来自分类Dev

$ toString在mongoDB 3.6.3版中将'_id'从ObjectId()类型转换为字符串的替代方法?

来自分类Dev

如何通过MongoDb Shell将字符串字段转换为对象数组中的ObjectId?

来自分类Dev

使用Mongoose在MongoDB中将字符串字段转换为ObjectID字段

来自分类Dev

使用rmongodb将mongo objectid转换为字符串

来自分类Dev

如何在Node.js MongoDB本机驱动程序中将字符串转换为ObjectId?

来自分类Dev

在猫鼬4.6.0中将字符串转换为ObjectId失败

来自分类Dev

Mongoose - 5.3.4 - 防止强制转换为 ObjectId 以使用字符串进行查询

来自分类Dev

MongoDB - 字符串到 ObjectID 并创建新集合

来自分类Dev

Mongodb 将 objectId 作为字符串返回

来自分类Dev

将Parse objectId转换为Mongo ObjectId?

来自分类Dev

有没有办法通过javascript / jquery将Mongo ObjectId转换为字符串

来自分类Dev

从字符串获取Mongoose ObjectId

来自分类Dev

从JSON字符串中提取ObjectId

来自分类Dev

猫鼬字符串到ObjectID

来自分类Dev

从字符串获取Mongoose ObjectId

来自分类Dev

ValidationError:转换为ObjectID失败

来自分类Dev

Using ObjectId with Mongoose in MongoDB

来自分类Dev

MongoDB $ oid与ObjectId

来自分类Dev

前端的MongoDB ObjectID类型

来自分类Dev

MongoDB ObjectId 的 JSON 问题

来自分类Dev

如何转换为ObjectId并在MongoDB查找上匹配日期?

来自分类Dev

在MongoDB中存储ObjectId及其字符串形式之间的区别

来自分类Dev

无法从MongoDb C#中的BsonType ObjectId反序列化字符串

来自分类Dev

在MVC中使用Json.NET自动将mongodb ObjectId重新调整为字符串

来自分类Dev

如何在HTML和流星中获取MongoDB中没有“ ObjectID”字符串的ID

来自分类Dev

当localField为字符串且foreignField为ObjectId格式时,Mongodb $ lookup

Related 相关文章

  1. 1

    MongoDB聚合项目字符串转换为ObjectId

  2. 2

    从字符串转换ObjectID?

  3. 3

    如何将$ project ObjectId转换为mongodb中的字符串值?

  4. 4

    $ toString在mongoDB 3.6.3版中将'_id'从ObjectId()类型转换为字符串的替代方法?

  5. 5

    如何通过MongoDb Shell将字符串字段转换为对象数组中的ObjectId?

  6. 6

    使用Mongoose在MongoDB中将字符串字段转换为ObjectID字段

  7. 7

    使用rmongodb将mongo objectid转换为字符串

  8. 8

    如何在Node.js MongoDB本机驱动程序中将字符串转换为ObjectId?

  9. 9

    在猫鼬4.6.0中将字符串转换为ObjectId失败

  10. 10

    Mongoose - 5.3.4 - 防止强制转换为 ObjectId 以使用字符串进行查询

  11. 11

    MongoDB - 字符串到 ObjectID 并创建新集合

  12. 12

    Mongodb 将 objectId 作为字符串返回

  13. 13

    将Parse objectId转换为Mongo ObjectId?

  14. 14

    有没有办法通过javascript / jquery将Mongo ObjectId转换为字符串

  15. 15

    从字符串获取Mongoose ObjectId

  16. 16

    从JSON字符串中提取ObjectId

  17. 17

    猫鼬字符串到ObjectID

  18. 18

    从字符串获取Mongoose ObjectId

  19. 19

    ValidationError:转换为ObjectID失败

  20. 20

    Using ObjectId with Mongoose in MongoDB

  21. 21

    MongoDB $ oid与ObjectId

  22. 22

    前端的MongoDB ObjectID类型

  23. 23

    MongoDB ObjectId 的 JSON 问题

  24. 24

    如何转换为ObjectId并在MongoDB查找上匹配日期?

  25. 25

    在MongoDB中存储ObjectId及其字符串形式之间的区别

  26. 26

    无法从MongoDb C#中的BsonType ObjectId反序列化字符串

  27. 27

    在MVC中使用Json.NET自动将mongodb ObjectId重新调整为字符串

  28. 28

    如何在HTML和流星中获取MongoDB中没有“ ObjectID”字符串的ID

  29. 29

    当localField为字符串且foreignField为ObjectId格式时,Mongodb $ lookup

热门标签

归档