Node.js: l'errore "Mod on _id not allowed" in MongoDB

Node.js: l'errore "Mod on _id not allowed" in MongoDB

Questo tipo di errore si verifica quando si aggiornano i dati in MongoDB tentando di sovrascrivere un ID esistente.

In Node.js otteniamo questo errore:


exception: Mod on _id not allowed

La soluzione consiste nel rimuovere la proprietà _id dall'oggetto passato alle API:


const express = require('express');
const app = express();
const Data = require('./models/Data');

app.post('/update/:id', function(req, res) {
  var updatedData = req.body;
  delete updatedData._id; // Rimuoviamo l'ID

  Data.findByIdAndUpdate(req.params.id, updatedData, function(err, obj) {
      //...
  });
});

Torna su