Метеор: используйте значение из поля autoValue для вычисления значения в другом поле autoValue - PullRequest
1 голос
/ 13 апреля 2020

Meteor v 1.10.1. Я использую meteor-collection2@3.0.6 и использую упрощенную схему v1.5.7 (NPM пакет)

У меня есть эта схема:

import SimpleSchema from "simpl-schema";

Orders.schema = new SimpleSchema ({
  name: {
    type: String
  },
  items: {
    type: Array
  },
  "items.$": {
     type: Object,
     Blackbox: true
  },

  orderTax: {
    type: Number,
    optional: true,
    autoValue: function () {
      if(this.isInsert || this.isUpdate) {
        return 0.5
     }
  }
  total: {
    type: Number,
    optional: true,
    autoValue: function () {
      if(this.isInsert || this.isUpdate) {
        const tax = this.field('orderTax').value;
        // Here tax is undefined
     }
    } 

})

orderTax не отправляется как часть объекта для simple-schema clean (), и да, это ожидаемое поведение, orderTax должен вычисляться только функцией autoValue для orderTax.

Как использовать autoValue, вычисленное из orderTax, в общем вычислении autoValue ?

Эта установка работает с более ранней версией collection2 и более ранней версией aldeed: простая схема (не NPM пакет)

...