1

オブジェクトを作成し、その「_id」を取得し、それを文字列に変更して、それを引数として別のオブジェクトに渡したいと思います。

考えはこのようなものでしたが、うまくいきません

BasicDBObject doc = new BasicDBObject();
a.insert(doc);
String id = doc.getString("$oid");
4

1 に答える 1

0

あなたはこれを行うことができます:

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 を取得する必要はありません。

于 2012-10-09T09:23:40.747 に答える