do c .save () не является функцией - PullRequest
0 голосов
/ 05 марта 2020

Я пытаюсь обновить документ Mon go, используя метод .save (), но он постоянно выводит doc.save() is not a function

Вот мой код:

// cart.js

const Cart = require('../models/Cart'); //Contains the requirements for Mongoose

// My React app handles all the changes to the cart and then passes
// in the updated cart along with the customerID from the body

const doc = await Cart.find({ customerID }); // customerID = '12345'
doc.cart = cart;
doc.save();

Содержимое корзины:

]
  {
    name: 'Item Name',
    sku: '2233',
    price: 14.99,
    qty: 1
  }
  {
    name: 'Item Name 2',
    sku: '4455',
    price: 13.99,
    qty: 2
  }
]

Текущий отклик с понедельника go при запуске console.log(doc):

{
   _id: ##################,
   cart: [
     {
       name: 'Item Name',
       sku: '2233',
       price: 14.99,
       qty: 1
     }
   ],
   customerID: '12345',
   date: 2020-03-04T20:49:05.761Z,
   __v: 0
}

Ожидаемый результат, если console.log(doc) будет запущен после процесса сохранения:

{
   _id: ##################,
   cart: [
     {
       name: 'Item Name',
       sku: '2233',
       price: 14.99,
       qty: 1
     }
     {
       name: 'Item Name 2',
       sku: '4455',
       price: 13.99,
       qty: 2
     }
   ],
   customerID: '12345',
   date: 2020-03-04T20:49:05.761Z,
   __v: 0
}

Вывод на консоль при вызове функции: doc.save() is not a function

Возможно, это из-за того, что я кодирую 8 часов, но не вижу, что мне не хватает. Помощь.

1 Ответ

1 голос
/ 05 марта 2020

Ожидаемое find возвращает массив. Чтобы получить один документ, используйте findOne:

const doc = await Cart.findOne({ customerID });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...