Вставка коллекции в Collection-Hook обходит SimpleSchema

Я знаю, что есть проблемы, открытые через Collection-Hooks, которые не работают с SimpleSchema. Кажется, проблема в том, что SimpleSchema работает до Collection-Hooks.

Но в следующем примере я вставляю документ в совершенно другую коллекцию, и кажется, что все вместе обходят SimpleSchema. Это было довольно удивительно для меня, потому что я думал, что, поскольку Logs - это другая коллекция, он по-прежнему будет вызывать свою собственную SimpleSchema… но это не так, как я это сделал здесь.

Кто-нибудь знает обходной путь, позволяющий журналам использовать его SimpleSchema для этого примера?

Products = new Mongo.Collection('products');

Products.after.insert((userId, doc) => {
    Logs.insert({'someinvalid': 'schema'});
    // logs still gets inserted here even though it's schema should be invalid
});

Logs = new Mongo.Collection('logs');

LogsSchema = new SimpleSchema({
    'someSchema': {
        type: String
    }
});

Logs.attachSchema(LogsSchema);

1 ответ

Я понял это самостоятельно. Все, что мне нужно было сделать, это применить пакет чеков и использовать:

Products.after.insert((userId, doc) => {
    let obj = {'someinvalid': 'schema'};

    check(obj, LogsSchema);

    Logs.insert(obj);
});

Я забыл, что вы можете использовать SimpleSchema для проверки правильности вне самих коллекций ^^;

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