Kesalahan dalam keystone js menggunakan mongo : Vehicle.model.updateItem bukan fungsi TypeError: Vehicle.model.updateItem bukan fungsi .

Tujuannya adalah untuk memperbarui model menggunakan objek seperti cara saya membuat Item menggunakan ff. kode di bawah ini.

CreateItems - Kendaraan adalah modelnya. dan postJson adalah objek array json.

keystone.createItems({
        Vehicle: postJson
      }, function (err, stats) {
        if (err) return res.json(err);
        res.json({
          data: stats.message
        });

        console.log("Succeeded!!")
      });

Sekarang saya mencoba memperbarui data pada model menggunakan array objek json dan dengan id unik di mana itemToUpdate adalah kueri untuk mencocokkan dokumen yang ingin saya perbarui dan fieldToUpdate adalah objek yang berisi bidang/bidang yang Anda inginkan nilai baru untuk. Tapi itu menimbulkan kesalahan Vehicle.model.updateItem bukan fungsi TypeError: Vehicle.model.updateItem bukan fungsi

Perbarui Kode

  var itemToUpdate = {
              vin_no: value.vin_no
            }

            var fieldToUpdate = {
              Vehicle: value
            }

        Vehicle.model.updateItem(
          itemToUpdate,
          fieldToUpdate,
          function (err, stats) {
            if (err) return res.json(err);
            res.json({
              data: stats.message
            });

            console.log("Succeeded!!")
          })

Ada ide bagaimana kami dapat memperbarui data menggunakan objek. ?

0
user11327631 14 Agustus 2019, 09:30

1 menjawab

Jawaban Terbaik

Anda harus menggunakannya seperti ini

// assuming value is object with all the fields. 
var itemToUpdate = {
    vin_no: value.vin_no
}

Vehile.model.findOne(itemToUpdate, function(error, vehicleObject) {

    Vehicle.updateItem(
        vehicleObject,
        value,
        function (err) {
            // err can be Error object or an object with 'error' and/or 'detail' property
            if (err) return res.json(err);

            res.json({
                status: "success"
            });

            console.log("Succeeded!!")
        })
})

Jika itemToUpdate memiliki jumlah variabel bidang, Anda dapat menambahkan opsi ke panggilan ini sebagai

var options = { field: 'vin_no, model_year, num_owners' }

Dan berikan ini sebagai Vehicle.updateItem(Vehicle.model, itemToUpdate, options, callback)

0
Gautam Singh 14 Agustus 2019, 08:11