Ci sono alcune domande là fuori ma non riesco a trovare una soluzione che sembra essere l'approccio accettato al momento.MongoError: Mod on _id non consentito
Sto cercando di aggiornare un documento in MongoDB e sto usando Mongoosejs per farlo. Tuttavia, sto ottenendo questo errore:
{ [MongoError: Mod on _id not allowed]
name: 'MongoError',
lastErrorObject:
{ err: 'Mod on _id not allowed',
code: 10148,
n: 0,
connectionId: 35,
ok: 1 },
ok: 0,
errmsg: 'Mod on _id not allowed' }
Il codice che sto usando per fare l'aggiornamento è:
app.put('/task/:short', auth, function (req, res) {
Task.findOneAndUpdate({short:req.params.short}, req.body, function(err, task) {
if(err) console.log(err);
res.json(200, {content: task});
})
});
perché ho avuto un "campo" chiamato "short_id" Ho pensato che potrebbe essere un problema con avere una parte "_id" nel nome del campo, così l'ho cambiato in "breve" ma ancora senza fortuna - ottengo lo stesso errore. In seguito ho scoperto che pensa che sto provando a cambiare il campo _id, ma non perché.
Cosa stai passando come req.body? –
Sto passando '_id' nel' req.body' e non dovrei avere ragione? – tommyd456
Beh, no, _id dovrebbe solo (possibilmente) essere nella parte di ricerca, non nella parte di aggiornamento (req.body) –