Я пытаюсь обновить или создать документ в коллекции MongoDB, используя «mon goose» следующим образом:
this.statsModel.findOne(
{product_id: requestData.ean},
).then((stats: mongoose.Schema) => {
const productId: string = requestData.ean;
// Update stats with the new scan...
const beforeStats: mongoose.Schema = stats;
const scan: any = {
coords: {
lat: requestData.lat,
lon: requestData.lon,
},
at: new Date(),
};
if (stats) {
stats.scans.push(scan);
stats.update();
} else {
const newStat = new this.statsModel();
newStat._id = requestData.ean;
newStat.product_id = requestData.ean;
newStat.scans = [scan];
newStat.purchases = [];
newStat.save();
}
Когда этот код выполняется, новый элемент не появляется в «сканированиях» "свойство if имело документ статистики.
Документ создан правильно, если документ статистики не был найден.
Я попытался изменить метод" update () "на метод" save () " , но, таким образом, я получил «Ошибка версии Нет соответствующего документа для идентификатора ...»
Что я делаю не так?
С уважением ...