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