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’}}})
|