为MongoDB生成的ObjectId

时间:2015-05-12 12:36:20

标签: java mongodb

在将实体保存到ObjectId之前,我需要为我的实体生成MongoDB。我只使用new org.bson.types.ObjectId()生成它。它创建了一个对象_id,它是_time_machine_inc_new的四元数。 _id本身的价值看起来像普通MongoDB _id。然而,在转换为JSON并将其发送到数据库之后,它被保存为包含四个元素的数组。有没有办法让它看起来像ObjectId生成的MongoDB - "_id" : ObjectId("54edaa41ca190ebda00a2abd")没有任何文字预处理?

1 个答案:

答案 0 :(得分:1)

这个简单的Java程序可以工作。

MongoClient mongoClient = new MongoClient();
ObjectId objectId = ObjectId.get();
DB test1 = mongoClient.getDB("test1");
BasicDBObject dbObject = new BasicDBObject("_id",objectId)
.append("key", "value");
test1.getCollection("test").insert(dbObject);

现在使用Shell查询,ObjectId已正确保存。

> use test1
switched to db test1
> db.test.find()
{ "_id" : ObjectId("55520a15b8a0e51f45921946"), "key" : "value" }