Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在创建过程中返回空白对象的ID_Java_Mongodb - Fatal编程技术网

Java 在创建过程中返回空白对象的ID

Java 在创建过程中返回空白对象的ID,java,mongodb,Java,Mongodb,我想创建一个对象,获取它的“_id”,将其更改为字符串,并将其作为参数传递给另一个对象 思想是这样的,但它不起作用 BasicDBObject doc = new BasicDBObject(); a.insert(doc); String id = doc.getString("$oid"); 您可以这样做: ObjectId myId = new ObjectId(); //id is created here DBObject myObject = new BasicDBObject()

我想创建一个对象,获取它的“_id”,将其更改为字符串,并将其作为参数传递给另一个对象

思想是这样的,但它不起作用

BasicDBObject doc = new BasicDBObject();
a.insert(doc);
String id = doc.getString("$oid");
您可以这样做:

ObjectId myId = new ObjectId(); //id is created here
DBObject myObject = new BasicDBObject();
myObject.put("_id", myId);

// Whether you save myObject to Mongo or not at this moment, you have its id
String myIdString = myId.toString();
// Now you can save myObject's id string in another object, and then later on,
// If you want to recreate the myId object you can do so:
ObjectId myIdRecreated = new ObjectId(myIdString);
换句话说,实例化ObjectId并将其传递给DBObject的“_id”字段将意味着该ObjectId将是该DBObject的id。通过这种方式,您不需要显式地将DBObject保存到Mongo以获得其id