2016-05-03 3 views
1

Mongoシェルで直接埋め込みドキュメントの配列でドキュメントを更新しています。これらのサブドキュメントのそれぞれに_idフィールドが必要ですが、これらはトップレベルのドキュメントと同じように自動的には作成されません。単純にMongoシェルに新しいObjectIdを作成する方法はありますか? (以下の実施例は有効ではありません)の線に沿って何か:MongoシェルでObjectIdを作成できますか?

"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(); 

これは更新用ドキュメントに使用できます。それが役に立てば幸い。

関連する問題