Mongodb,使用javascript从一组对象中删除一个对象
Posted
技术标签:
【中文标题】Mongodb,使用javascript从一组对象中删除一个对象【英文标题】:Mongodb, Delete one object from an array of objects using javascript 【发布时间】:2021-10-15 21:06:28 【问题描述】:我正在尝试从我的集合数组中删除一个对象,如下所示。这是MongoDB中的一个集合
在根据chartId删除特定对象之前,我需要检查userId和数组的名称。然后我需要删除对象。
我已经编写了这段代码,但它不起作用。有人会告诉我这段代码到底缺少什么。
delChartObj.updateOne(
'userId': userId ,
$pull: "Color": "chartId": req_chart_id ,
safe: true, multi: true, function (err, obj)
if (err) res.send.err
res.status(200).send( msg: "Deleted Sucessfully" );
);
在我的例子中,userId = ADAM, array = "Color" and chartID = time 我正在使用猫鼬来执行操作
delChartObj 是模型的对象
const UserSchema = mongoose.Schema(
userId: type: String, required: true, unique: true ,
charts: type: Object ,
);
【问题讨论】:
【参考方案1】:在 pull 中试试这个
$pull: "Chart.Color.$.chartId": req_chart_id ,
【讨论】:
什么都没有发生,代码已执行,但尚未从集合中删除 我已经更新了这个问题,基本上你没有提到***属性是图表【参考方案2】:你应该做 findOneAndUpdate,语法是这样的:
Model.findOneAndUpdate(
< condition>,
$pull: "Color.$.chartId": req_chart_id , // The actual Query
new: true
)
【讨论】:
以上是关于Mongodb,使用javascript从一组对象中删除一个对象的主要内容,如果未能解决你的问题,请参考以下文章
如何检查用户是不是使用 jQuery/Javascript 从一组复选框中选中了至少一个复选框?
javascript 从一组数据中找到指定的单条数据的方法 by FungLeo
TERSUS画画一样开发软件 集合类元件介绍-多个对象处理元件1