Мне нужно использовать upsert, потому что что-то вроде записи в моей схеме счетов (см. Ниже) может не существовать. Определяющими факторами для его существования являются adviserID и период. Если существует запись, соответствующая обоим из них, она должна просто обновить запись.Meteor upsert with mongo
Однако, когда я запускаю это, я получаю эту ошибку: Sanitized и сообщается клиенту как: ID советника должен быть объектом [400]. Когда я console.log (советник) внутри метода updateOrder, он действительно правильно сообщает идентификатор объекта-советника.
Любая помощь будет оценена по достоинству. Спасибо.
Upsert метод:
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"
}
});
Что такое «советник» в методе? Это идентификатор (строка) или какой-либо объект? –