Вставка коллекции в 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 для проверки правильности вне самих коллекций ^^;