1
我有一個名爲ReferralHistory的模式。 它包含一組用戶和引用用戶數組。使用Mongoose從文檔中刪除數組元素
ReferralHistory
var mongoose = require('mongoose');
var refferalHistorySchema = new mongoose.Schema({
user: {
type: mongoose.Schema.Types.ObjectId,
ref: 'User',
unique: true
},
referrals: [{
type: mongoose.Schema.Types.ObjectId,
ref: 'User'
}],
});
var ReferralHistoryModel = mongoose.model('ReferralHistory', refferalHistorySchema);
module.exports = {
referralHistory: ReferralHistoryModel
}
我需要刪除推介數組中的特定用戶集合中ReferralHistory [這裏我只知道,稱爲用戶ID]。如何我可以做到這一點?
編輯
我試圖
db.referralhistories.update({ "u_referrals": "593281ef966d7f0eeb94db3d" }, { "$pull": { "u_referrals": "593281ef966d7f0eeb94db3d" } });
但文件沒有更新。
感謝您的回答。我嘗試了您的解決方案。但沒有得到結果。更新了 – Muhsin
@Muhsin的問題,因爲您正在shell/robomongo /無論如何輸入。值是'ObjectId'而不是字符串。在shell中,您需要使用ObjectId(「593281ef966d7f0eeb94db3d」)'來匹配。然而,貓鼬會爲你投下這種類型。 –
它現在工作了。非常感謝您的幫助。這對我非常有幫助。 – Muhsin