如何不删除猫鼬中的整个文档(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]
}
}
})
这是我第一次使用这个平台,我的英语不好,如果我不明白我的问题的所有复杂之处,请见谅。
我有疑问:为什么 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]
}
}
})