170

ObjectIdMongooseで MongoDB を生成したいと考えています。ObjectIdMongoose からコンストラクターにアクセスする方法はありますか?

  • この質問は、ゼロから新しいものを生成することに関するものです。 ObjectId生成された ID は、まったく新しい普遍的な一意の ID です。

  • 別の質問では、既存の文字列表現ObjectIdからを作成することについて尋ねます。この場合、すでに ID の文字列表現があり (それは普遍的に一意である場合もあれば、そうでない場合もあります)、それを に解析しています。ObjectId

4

4 に答える 4

362

ObjectIdコンストラクターは にありますrequire('mongoose').Types。次に例を示します。

var mongoose = require('mongoose');
var id = mongoose.Types.ObjectId();

idは新しく生成されObjectIdた です。


: Joshua Shermanが指摘しているように、Mongoose 6 では、呼び出しの前に次のようなプレフィックスを付ける必要がありますnew

var id = new mongoose.Types.ObjectId();

Typesオブジェクトの詳細については、 Mongoose#Types ドキュメントを参照してください。

于 2013-07-27T16:02:19.187 に答える
58

ObjectIdmongooseを使用して、次のように新しい MongoDB を作成できます。

var mongoose = require('mongoose');
var newId = new mongoose.mongo.ObjectId('56cb91bdc3464f14678934ca');
// or leave the id string blank to generate an id with a new hex identifier
var newId2 = new mongoose.mongo.ObjectId();
于 2016-02-22T23:33:05.010 に答える