Node.js 如何删除Mongoose中对象ID为的嵌套数组对象值?
我需要用url对象中的id从下面的mongodb数据库中删除url,然后需要剩余的数据作为结果 我的mongodb收藏包含以下内容:Node.js 如何删除Mongoose中对象ID为的嵌套数组对象值?,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,我需要用url对象中的id从下面的mongodb数据库中删除url,然后需要剩余的数据作为结果 我的mongodb收藏包含以下内容: { "_id" : ObjectId("589b043abc2f5a467c13303b"), "user_id" : ObjectId("5874c174c813822341cb59a7"), "filename" : [ { "url" : "images/product_images
{
"_id" : ObjectId("589b043abc2f5a467c13303b"),
"user_id" : ObjectId("5874c174c813822341cb59a7"),
"filename" : [
{
"url" : "images/product_images/file-1486554170465.jpeg",
"_id" : ObjectId("589b043abc2f5a467c13303c")
},
{
"url" : "images/product_images/file-1486554306440.jpeg",
"_id" : ObjectId("589b04c2bc2f5a467c13303f")
}]
}
有人能帮我吗,提前谢谢。在猫鼬,你可以这样做-
CollectionInstance.findByIdAndUpdate(documentId, {
$pull: {
filename: {_id: urlId}
}
}, {new: true});
通过documentId
我的意思是589b043abc2f5a467c13303b
和urlId
我的意思是589b043abc2f5a467c13303c
我们在这里所做的是通过其\u id
查找集合中的特定文档,然后通过其\u id
从文件名
数组中提取特定文档
{new:true}
选项告诉Mongo返回更新的文档。默认情况下,此值为false,Mongo返回更新前的文档状态。您可以使用Mongoose中的选择(['field1','field2'])
。或者您可以使用Lodash库中的.pick()
或.omit()
进行一些后处理。获取文档需要哪些信息?您是否有文档的_id以及要删除的文件名的_id?我有用户id、url id和整个集合id,我需要删除url。'new_add_schema.findByIdAndUpdate(“589d64e9e4aee71251c56941”,{$pull:{filename:{u id:”“589d6630866a0c1429f7e96a”}},{new:true},函数(req,vft){console.log(vft)},'我尝试了上面的方法,但没有删除对象(url和id)哦,现在一切正常,三天后我得到了这个结果。谢谢!!非常感谢乔特曼·辛格