java - 创建过程中返回空白对象的ID

标签 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();
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。

关于java - 创建过程中返回空白对象的ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12796685/

相关文章:

java - 自动生成 PDF 格式的内容 - Java

Java - 使用多个堆栈允许 'undo' 方法

django - 使用 Django 配置 mongoDB

javascript - 如何将 mongo 查找查询的结果添加到另一个查找查询中

node.js - 从数组中的数组中提取

MongoDb 因 Code 100 关闭

java - @KafkaListner - 跳过旧消息,即仅接收新消息

java - 如何在不创建对象的情况下将java类转换为json格式结构

java - Intellij 2019.1.3旗舰版无法安装maven依赖

mongodb - 如何在 Go 中使用 $indexOfArray?