jugglingdb - установка поля первичного ключа

Можно ли указать, какое поле должно быть полем "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 является значением ObjectId MongoDB _id. Так что мой id скрыт.

1 ответ

_id зарезервирован в MongoDB в качестве первичного ключа. Это объяснило бы, почему это не может быть изменено. Вы можете поместить в нее любое значение, если оно уникально. Надеюсь, это поможет.

В настоящее время также существует открытая проблема с адаптером jugglingdb-mongodb. Это устраняет причину, по которой идентификатор не возвращается. В основном если object.id существует при вызове create, он удаляется перед вставкой в ​​коллекцию.

Другие вопросы по тегам