【问题标题】:Mongoose delete an item in an arrayMongoose 删除数组中的一项
【发布时间】:2020-08-31 17:46:34
【问题描述】:

我是 mongoose 的初学者,我正在尝试删除数组中的一个元素,但我遇到了麻烦

我的架构是这样的

    name : {
        type: String,
        trim : true
    },
    pictures: {
        type : Array,
        required : false
    },

在我的数据库中它看起来像这样

{
    "_id" : ObjectId("5eb67e7c74b35b205362b7f4"),
    "title" : "john doe",
    "pictures" : [ 
        "img1.jpg", 
        "img2.png", 
        "img3.jpg", 
        "img4.jpg", 
        "img5.jpg"
    ]
}

如何删除图片数组中的一项?

【问题讨论】:

    标签: arrays node.js mongodb express mongoose


    【解决方案1】:

    你需要$pull运营商:

    await Model.updateOne({"_id" : ObjectId("5eb67e7c74b35b205362b7f4")}, {$pull: { "pictures": "img1.jpg"}});
    

    【讨论】:

    • 它不起作用,但正如你向我展示的那样,我现在正努力让它工作
    • 我刚刚用纯 id 替换了 objectId,现在它可以工作了!
    猜你喜欢
    • 2014-12-02
    • 2014-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-10
    • 2021-04-01
    相关资源
    最近更新 更多