這裏有幾個問題,但我似乎無法找到似乎是目前被接受的方法的解決方案。MongoError:不允許在_id上使用
我試圖更新MongoDB中的文檔,我正在使用Mongoosejs來做到這一點。不過,我得到這個錯誤:
{ [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' }
我使用,使更新的代碼是:
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});
})
});
,因爲我有一個「場」被稱爲「short_id」我想這可能成爲字段名稱的「_id」部分的問題,因此我將其更改爲「short」,但仍然沒有運氣 - 我得到相同的錯誤。後來我發現它認爲我試圖改變_id字段,但我不明白爲什麼。
你作爲req.body傳入了什麼? –
我在'req.body'中傳遞'_id',我不應該這樣做? – tommyd456
嗯,不,_id只能(可能)在搜索部分,而不是更新部分(req.body) –