那麼失敗的價值」,我看到這裏有這樣的幾個崗位,但他們並沒有幫我...CastError:投射到的ObjectId「在路徑「_id」
讓我描述了我的問題:
我有兩個架構的
var A = new Schema({
someAttribut: {type: String},
b: {type: ObjectId, ref:'B'}
});
var B = new Schema({
someAttribut2: {type: Boolean, 'default': false'}
});
現在我在,我已經有一個B-對象的情況,我想創建一個A-對象。
所以我做這種方式:
var a = new A(req.aFromClient); // {_id:null, someAttribute:'123', b:null}
//load b from Database ...
a.b = existingBFromDatabase; // {_id: 'Sb~Õ5ÙÐDâb', someAttribute2: false}
B對象是從我monogDB加載。調試器爲我顯示了一個有效的ObjectId(53627ed535d9d04416e26218或Sb〜Õ5ÙÐDâb)。
但是,當我救我的新A-對象,我得到的錯誤::
「CastError演員到的ObjectId‘在路徑‘_id’失敗值’」我不明白爲什麼我得到這個錯誤。 首先,我沒有在模式中定義id,所以貓鼬應該添加它,這似乎工作。 其次,我認爲當我創建一個對象時,貓鼬應該生成一個新的ID。
你有什麼建議嗎?
將它設置爲未定義就足夠了嗎? – Laokoon
@Lookoon不,如果您希望Mongoose爲您的新文檔提供'_id'值,則不能在您的初始doc對象中包含'_id'屬性。 – JohnnyHK