mongodb$pull数组更新操作符

mycode:

db.person.insert([
{
    
    name:'zs', books:[{
    
    name:'html', price:66}, {
    
    name:'js', price:88}], tags:['html', 'js', ['1', '2']]},
{
    
    name:'ls', books:[{
    
    name:'vue', price:99}, {
    
    name:'node', price:199}], tags:['a', 'b', 'ab', 'c', 'ac']}
])
db.person.find()

在这里插入图片描述

db.person.updateOne({name:‘zs’},{$pull:{tags:‘js’}})
在这里插入图片描述

//也可以是使用正则表达式:

db.person.updateOne({
    
    name:'ls'},{
    
    $pull:{
    
    tags:/^a/}})

在这里插入图片描述

// 注意点: 如果要删除的元素是一个数组, 那么必须一模一样才能删除

db.person.updateOne({
    
    name:'zs'},{
    
    $pull:{
    
    tags:["2","1"]}})

在这里插入图片描述

db.person.updateOne({
    
    name:'zs'},{
    
    $pull:{
    
    tags:["1","2"]}})

在这里插入图片描述

// 注意点: 如果要删除的元素是一个文档, 那么不用一模一样也可以删除

db.person.updateOne({
    
    name:'zs'},{
    
    $pull:{
    
    books:{
    
    price:66,name:'html'}}})

在这里插入图片描述

//只要有一个匹配的就会把整个文档删掉

db.person.updateOne({
    
    name:'zs'},{
    
    $pull:{
    
    books:{
    
    name:'js'}}})

在这里插入图片描述

teacher's code;

1.$pull数组更新操作符
KaTeX parse error: Expected '}', got 'EOF' at end of input: …字段中删除特定元素 格式: { pull: {:<value|condition>, …}}

2.示例
db.person.insert([
{name:‘zs’, books:[{name:‘html’, price:66}, {name:‘js’, price:88}], tags:[‘html’, ‘js’, [‘1’, ‘2’]]},
{name:‘ls’, books:[{name:‘vue’, price:99}, {name:‘node’, price:199}], tags:[‘a’, ‘b’, ‘ab’, ‘c’, ‘ac’]}
])
删除特定元素
根据条件删除元素
db.person.update({name:‘zs’}, { KaTeX parse error: Expected 'EOF', got '}' at position 17: …ull:{tags:'js'}}̲) db.person.upd…pull:{tags:/^a/}})

3.注意点
// 注意点: 如果要删除的元素是一个数组, 那么必须一模一样才能删除
db.person.update({name:‘zs’}, { KaTeX parse error: Expected 'EOF', got '}' at position 23: …ags:['2', '1']}}̲) db.person.upd…pull:{tags:[‘1’, ‘2’]}})
// 注意点: 如果要删除的元素是一个文档, 那么不用一模一样也可以删除
db.person.update({name:‘zs’}, { KaTeX parse error: Expected 'EOF', got '}' at position 37: …, name:'html'}}}̲) db.person.upd…pull:{books:{name:‘js’}}})

猜你喜欢

转载自blog.csdn.net/ice_stone_kai/article/details/123216390