是否可以在Mongo Shell中创建ObjectId?

Ant*_*ine 5 mongodb mongo-shell objectid

我正在直接在Mongo Shell中使用一系列嵌入式文档更新文档。我希望每个子文档都具有一个_id字段,但是不会像创建顶级文档那样自动创建它们。有没有一种方法可以在Mongo Shell中简单地创建一个新的ObjectId?遵循以下原则(以下示例无效):

"prop": [
  {
    "_id": new ObjectId(), // creates the objectId when executing the line
    "foo": "bar"
  }
]
Run Code Online (Sandbox Code Playgroud)

主要要求是不必为要创建的每个文档手动生成随机字符串。那可能吗?

khu*_*o29 6

对的,这是可能的。您可以生成 ObjectId

ObjectId id = new ObjectId();

// or this
ObjectId id = ObjectId.get();
Run Code Online (Sandbox Code Playgroud)

然后它可以用于更新文档。希望能帮助到你。