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