0

どのフィールドを「id」フィールドにするかを設定することは可能ですか? 私は自分のスキームを次のように定義しています:

var Person = app.ormDb.define('person', {
    id          : { type: String, index: true, default: function () { return uuid.v4(); } },
    oAuthID     : { type: String, index: true },
    name        : { type: String },
    gender      : { type: String },
    birth       : { type: Date },
    email       : { type: String },
    imageID     : { type: String },
    favorites   : { type: JSON, default: function() { return {cars : [], animals : []}; } },
    date        : { type: Date, default: function() { return new Date(); } },
    updated     : { type: Date, default: function() { return new Date(); } }
});

定義idしたフィールドは MongoDB に表示されますが、jugglingdb を使用して人物を検索すると、Person.id の戻り値は MongoDB _id ObjectId 値になります。だから私idは隠されています。

4

1 に答える 1

0

_id主キーとして MongoDB で予約されています。これにより、変更できない理由が説明されます。一意である限り、これに任意の値を配置できます。それが役立つことを願っています。

現在、jugglingdb-mongodb アダプターにも未解決の問題があります。これにより、id が返されない理由が解決されます。基本的に、 object.idcreate を呼び出すときに存在する場合は、コレクションに挿入する前に削除されます。

于 2014-08-12T19:28:22.743 に答える