[英]Mongoose findByIdAndUpdate successfully updates document but ruturns error
[英]Mongoose findByIdAndUpdate() updates the wrong entry
我正在調用以下Mongoose函數:
User.findByIdAndUpdate(
'76561198015207414',
{},
{ upsert: true }
);
調用之前,我的user
集合為空。 運行該功能后,我的user
集合將添加以下文檔:
{
"_id": 76561198015207410
}
為什么會更新集合中的錯誤條目?
您為User
定義的_id
可能是數字:
var UserSchema = Schema({
_id : Number,
/* more */
});
如果您使用JavaScript並將傳遞給調用的String
轉換為findByIdAndUpdate
並將其轉換為Number
,那么您將看到未保留精度:
> var x=76561198015207414
> x
76561198015207410
您會看到變量x
包含問題中顯示的_id
。
您需要切換到String
或確保數字不超過Number
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.