現在、URLでMongodb ObjectIdsを使用していますが、代わりにこのモジュールを使用したいと思います: https ://github.com/dylang/shortid
しかし、既存のデータにはまだこれらのスラッグがありません。それらすべてを移行するにはどうすればよいですか?どこを見ても、noSQLでデータを移行する必要はないと言われています。
これがスキーマの例です。「shortid」フィールドを追加しています。
var ItemSchema = new Schema({
name : { type: String, required: true, trim: true }
, description: { type: String, trim: true }
, comments : [CommentSchema]
, shortid : { type: String, required: true }
});
私の意図は、/ items/508cbd80c0e1a44277000003の代わりに/items/PPBqWA9のようなURLを使用することです
まだ存在しない場合はshortidを生成する.pre('save')メソッドがあります。
または、ShortId.generate()を呼び出す関数をデフォルトにすることができますか?
2つの要件:1)変更しないでください。2)既存のオブジェクトに遡及的に適用します。