Мне нужно использовать upsert, потому что какая-то запись в моей схеме учетных записей (см. ниже) может не существовать. Определяющими факторами для его существования являются советник ID и период. Если запись, которая соответствует обоим из них, существует, она должна просто обновить запись.
Однако, когда я запускаю это, я получаю эту ошибку: Санитизировано и сообщается клиенту как: Идентификатор советника должен быть объектом [400]. Когда я использую console.log(adviser) внутри метода updateOrder, он действительно правильно сообщает ObjectID советника.
Любая помощь будет оценена по достоинству. Спасибо.
Метод вставки:
Meteor.methods({
updateOrder: function(adviser, order, period) {
Account.upsert(
{
adviserId: adviser,
period: period
}, {
$set: {
adviserId: adviser,
order: order,
outstanding: order,
period: period
}
});
}
});
Схема:
Schema.Account = new SimpleSchema({
"adviserId": {
type: Object,
},
period: {
type: Date,
label: "Order Period"
},
order: {
type: Number,
min: 0,
label: "Order Number"
},
outstanding: {
type: Number,
min: 0,
defaultValue: 0,
label: "Outstanding Number"
}
});