Как я могу расширить коллекцию пользователей с помощью Astronomy и account-ui? - PullRequest
0 голосов
/ 11 января 2019

Мне нужно иметь возможность расширить коллекцию, которую account-ui создает по умолчанию для пользователей.

import { Class } from 'meteor/jagi:astronomy';
import { Behavior } from 'meteor/jagi:astronomy-softremove-behavior';

/**
 * @class User
 */
const User = Class.create ({
    name: 'User',
    collection: Meteor.Users,
    secured: false,
    fields: {
        emails: {
            type: Email,
            optional: true
        }
    },
    behaviors: {
        softremove: {
            removedFieldName: 'removed',
            hasRemovedAtField: true,
            removedAtFieldName: 'removedAt'
        },
        timestamp: {
            hasCreatedField: true,
            createdFieldName: 'createdAt',
            hasUpdatedField: true,
            updatedFieldName: 'updatedAt'
        }
    }
});

export default User;

Я не хочу использовать Meteor.user. (), Только хотел бы использовать класс User.

1 Ответ

0 голосов
/ 11 января 2019

Добро пожаловать в переполнение стека.

Коллекция пользователей в Метеоре является особенной. Под капотом в Монго это обычная коллекция.

В целях безопасности вы не можете использовать коллекцию пользователей как обычную коллекцию, например, вы можете обновить свою собственную запись пользователя, но вы не можете просматривать и редактировать записи других пользователей.

Мой совет - создать отдельную коллекцию для вашего профиля. Это не идеальное решение, но лучше оставить коллекцию пользователей под контролем пакета учетных записей Meteor.

Можно расширить коллекцию для хранения нескольких элементов данных типа профиля, но даже при этом есть некоторые складки, потому что при обновлении пользовательской записи запускается трекер, и ваш пользовательский интерфейс обновляется (с возможными отрицательными побочными эффектами, если обновление не ожидается)

...