2016-05-03 1 views
1

Я обновляю документ с массивом встроенных документов, непосредственно в оболочке Mongo. Я хотел бы, чтобы в каждом из этих поддоменов было поле _id, но они не создаются автоматически, так как они предназначены для документов верхнего уровня. Есть ли способ создать новый ObjectId в оболочке Mongo? Что-то вдоль линий (например, ниже не является действительным):Возможно ли создать ObjectId в оболочке Mongo?

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

Основное требование не необходимости вручную генерировать случайные строки для каждого, чтобы создать документ. Это возможно?

ответ

2

Да, это возможно. Вы можете сгенерировать ObjectId

ObjectId id = new ObjectId(); 

// or this 
ObjectId id = ObjectId.get(); 

Затем его можно использовать для обновления документа. Надеюсь, поможет.