如何不删除猫鼬中的整个文档(express.js),而只是数组中的一个字符串

How not to delete the whole document in mongoose (express.js), but just only a string in an array

这是我第一次使用这个平台,我的英语不好,如果我不明白我的问题的所有复杂之处,请见谅。

我有疑问:为什么 mongoose 中的 findOneAndDelete() 会删除所有文档而不是删除数组的 exat 字符串。

那是我 collection 中的猫鼬文档:thats document

我真正需要的是在我的 soketController (node.js/express.js/server) 中删除数组的字符串 [.1]-uk 如果那个字符串与结果值相同 (它应该在转换后相同)。 its server side 我尝试了这个或 findOneAndDelete({name:result}) 但删除了整个文档或根本不起作用 ($pull)。

在此先感谢您的帮助

我发现了我的问题。

$pull$in

等其他东西一起使用

所以:

const final = await AllUrlDb.updateOne(isDetleteURL,{
                                       $pull: {
                                          name:{
                                            $in: [result]
                                          }
                                       }
                                    })