00:01
好,我们继续啊呃,下面把这个过滤修改和这个删除简单一说啊,嗯,这两个其实嗯用的比较少啊。来先看这个过滤修改吧,呃,修改的话,我们在前面讲了一个就是。指定字段的修改,对吧,我要把你的某个字段的去做一个修改啊,但是呢,我们是需要呃,带上你的这个文档ID的啊,就说白了,你要改的是哪一个文档。啊,那有时候的话,我们是需要有这个条件啊,然后去控制这个修改的,比如说我想去改一下满足某个条件的什么某些数据,对吧,那这个时候我们可以去看一看怎么去做啊。嗯,这里面举个例子啊,就是呃,我看看啊这样吧,嗯。我来写一下啊。我们举个例子啊,这是过滤修改啊,啊将这个演员。
01:00
名字这个包含,嗯,我们包含这个张涵予的多是吧,包含这个张涵予的啊。好,包含这个张涵予的这个,呃,名字啊,嗯。名字为啊好为张涵予的,然后改为改为这个张涵予好吧。能看到吧,就是我的一个操作啊,那你看这种情况下,你就要什么去做一个过滤操作了,就先把这个所有谣言名字,为什么张涵宇的数据给它过滤出来,过滤出来以后呢,再去做一个修改。对吧,来看一下这个怎么做啊呃,那这个过滤修改,修改的话,我们用的是post炒作啊,同学们用的是post,然后这里面的话,我们就写上你的movie index。啊,Movie movie index OK,下面还是用的是叫做update by query。
02:01
啊,这是你的过滤修改啊,Update by query。这个稍微大一点啊,大家可能看的比较小是吧,来呃,大了没好吧。就这样啊,把query啊,然后后面怎么写的,后面就写了啊,那你这里面肯定会有一个query,那query的话,我们就直接什么写这个query啊,先把这个过滤写出来啊,你看这里面我们是要将演员的名字为张涵予,那叫什么去把它找出来,这个东西怎么找呢。啊,演员名字为张涵予的数据给他找出来,那这个就要写什么,写这个filter了吧,说来一个布尔,布尔里面写个什么filter filter里面写什么呀?呃,诶,我看一下这个我记得好像,嗯,直接写query就行了,是吧,直接写Tom去指等就行啊,因为这里面我们,呃,我看这么写,我看这样行不行吧?啊,就他可以写的更简单一点啊,你这样写看一下行不行啊,Termm termm里面我们写的是你的名字啊,演员的名字叫actor,呃,Named keyword啊,必须叫张涵宇啊。
03:01
好来我先查一下啊,呃,这个不行啊,这个它这个update by query里面你这么写它不识别啊,这个还是查不到数据的啊,那我们只能是把它去掉了啊,它是直接直接什么做query就行了,Query里面直接什么使用这个只等判断就行了啊说把这个去掉吧,呃。这都需要啊,那直接写这个query,直接写term啊,这样去写的好吧,就是跟你那个查询还不一样啊,不一样,像这里面写那个叫什么actor。类似点累,诶不对,我想想啊。呃。那样应该也可以啊,因为我们是没有做查出来对吧,就是我没有做查对吧,行,我还是那么那么写吧,我看看这样写行不行啊。还这么写啊,还这么写就是,呃,因为我这个查询的话,你看一下它没有没有做什么操作啊,这是一个after query啊,它并不是一个查询啊,说我先这么写吧,OK吧,那这个写出来以后呢,接下来啊,这是你的query,那你query出来以后的数据,我要做什么操作呢?我要做修改。
04:01
这个修改它怎么改呢啊,它要用用到一个语法啊,叫这个script,就是我们要什么在你的这个,呃,就说白了啊,它需要你写一个这个脚本啊,那这个脚本语言的话,它叫什么叫这个P啊,这个是ES,它这个自带的。好吧,那这个语法怎么写呢?他这么去写的啊。Ctx点下好像S。这个表示什么呢?这个你可以理解为,它就表示我上面去查出来的数据。啊,你可以这么去理解啊,就是表示我上面所查出来的数据,然后我查出来这个数据以后呢,我在我的数据里面我找什么呀,同学们。啊,我在我的数据里面,我要去找到,找到我们的演员列表,找到你的名字,然后做修改。对吧,演员列表找到名字做修改啊,来我们找一下啊,就是呃,找到这个演员列表,那就是后面直接写什么,写这个中国号,去找你的演员演员列表啊,中国号那写的是。Act list啊,这就是你的演员列表,那你的演员列表中。
05:06
的名字。呃,这是一个数组是吧,数组的话,嗯,那我看看啊,如果说我是定位到了多条数据,多条数据,嗯,我我直接这么写看一下,看行不行啊,看他支不支持这个批量改啊,名字名字我就写个内对吧,演员列表的名字,然后要把它改成什么,改成就是你的一个值叫什么,叫这个叫这个张涵予对不对,好,这个怎么改的,我们可以这么去写啊,就再给它传上一个叫做P,这个P4里面这是你的参数啊,参数里面你可以自己去定义啊,比如说我叫做嗯,叫做什么new name吧。对吧,后面给个值啊叭如叫张涵予,那这段话可以这么写,你可以这么去写,就是在我的para尔斯里面。啊,我要调什么,调这个new name就什么意思啊,我把它里面这个名字拿出来,然后呢,给到他里面。
06:00
对吧,你可以这么去写啊,行,我看看这样行不行啊。嗯。呃,这样不行是吧,这个地方有问题啊。Ctx点下划线的S,然后呢,Actually list,我看看啊呃,S。语法没问题啊,Ctx点下换SS啊,应该还是这个地方有问题啊他。因为这是一个数组啊,这是数组的话。数值的话,我们得指定他这个需要我们指定是哪一个哈,呃,那我这样吧,因为这个张涵有会查到多个是不是,那我这样去写啊。这个比较麻烦啊,来我查一下数据啊,看一下我的数据啊,Get一下这个movie index。好,Get more index,然后呢,我们查一下啊一下。我找一个找一个单独的吧,就找这个吧,嗯,有一个。找爱硅谷好不好,因为呃,这样的话,你看啊,我这么去写吧,我先改成爱硅谷试一下啊,一会再来研究一下那个怎么写啊。
07:09
好,就是我要把这个爱谷的数据呢,重新改个名字,那我就不改它了啊,改成这个上微谷吧,对吧,这样写啊,这样的话你看一下我的这条数据,我能保证就是我定位到了这个里面的只有一个,只有一个的话,那我在数组里面我就可以写下标了啊,它这个还是需要我们去指定一下具体的哪一个啊。对吧,就是act list里面的就是它它里面的第零个,第零个就是这个数据,这个数据的名字给他做一个修改啊,这样我看看行不行啊,嗯,走一下。嗯,这个应该是改了啊,改了以后呢,我们来这个查一下吧,啊查一下。啊,没有选中啊,选一下。对吧,这个是改了的。啊,这是可以改的,OK,那就说明我这么写也是可以的啊,就是你可以按照这个文档中啊,就写的更简单一点,叫什么叫这个term对吧,这么写也可以啊,但是呢,如果说你这个写熟悉的这种方式,你你可以什么直接按照这种方式去写啊,就这个query的这种方式啊,可以这么去写,但这个修改的话,它这个地方需要用到这个P啊,这个这是一个脚本语言啊,所以我们需要什么对它这个脚本的话就是特别的熟悉。
08:16
啊,但这个东西的话,我们是不会给大家去花时间去讲的啊,就大家这个有一个印象就得了吧。好吧,因为这个过滤修改,修改这个事情确实也很少。我们将来用肯定就是查询啊,主要是写入和查询啊,主要写入和查询就这两个啊,说这个过滤修改呢,我就给你简单演示一下啊,呃,那当然哈,我刚刚写的那个,比如说呃,我写的那个张涵宇,他不行是吧,比如说我写个张涵宇,然后这句话我把它改成,改成这个张涵宇好。这条我不写了,这个我的意思是什么呢?你看啊,如果说我查这个张涵宇的话呢,因为我会查到多条数据。对吧,这个是能够查得到的。呃,我看一下啊,这个是能够查得到的,然后呢,呃,这个也是能够查得到的。
09:01
对吧,那现在就有个问题,有个什么问题呢?你的这个演员列表啊,你的演员列表它下面是没有直接的一个什么呀名字的。能听懂吧,说你就怎么定位到你要去改哪几个,那比如说呢,对于他来讲的话,我写个零就合适了,但对于他来讲的话呢,我就不知道该写第几个了,因为我不知道你这个演员叫张瀚宇的这个人呢是第几个,那如果说你贸然写个零的话,就会出现这种问题啊。对吧,就出了出了这种问题,你看,然后再给你改一下。这个也改了对吧,那改了以后的话,我们看一下啊,你再查这个数据,好,你看一下啊呃。这个是改成张涵,你看先看这个,这个是对的啊,就是把它改成张涵宇,就相当于是诶。你看啊,就把它改成张涵予了,但是呢,对于我的这个数据来讲,那就不对了,你把人家这个什么呀,原来是什么张译的,你给他什么改成张涵予了。对吧。啊,说这种写法,呃,这个就不太合适啊,说这个地方它不能够动态指令,呃,那就会比较麻烦。
10:01
理解吧啊,但如果说我们改的是别的啊,就是你查出来这个结果,它确定只有一条的情况下,那你是可以什么批量去做修改的,但如果说你查出来是多条的情况下,那这个地方你这个就没法动态的去指定到底改哪一个了,你必须得把它写死。这就不太科学了是吧,不太合适了啊,行,所以这个事情你就知道一下吧,啊,你这么改,呃,你要保证就是它只有一个的情况下,你是可以去改的啊,那当然我们现在举的例子不太合适啊,你要比如说我想改什么呀,改这个具体的某个字段啊,那一定是可以的,比如说。我想把这个包含这个张涵予的这个,把这个包含这个张涵予这个电影的什么呀,电影的这个,呃,评分给大家做一个修改,这个是可以的啊,你比如说。呃,Ctx,那我就不写它了,对吧。我就写这个电影的评分啊,那我就直接写这个就行了啊,我看看这样行不行啊,电影的评分,评分就是豆瓣S扣,是不是豆瓣扣。好,那当然啊,现在我们的名字应该就叫呃,张涵予吧,好吧,改他啊。
11:02
就因为我已经做了一个修改了嘛,对吧,我把这个所有包含这个张涵予的这个电影的评分啊,改成一个值啊,那看一下啊,呃,这个是08:05,然后另外一个是08:00,那我统一改成9.0吧,对吧。叫new name,那我9.0吧,9.0。啊,这个就不用写它了啊99.0。对吧,我这样试试看行不行啊找一下。对吧,这也成功了啊,成功以后你再查一下啊,它应该都是9.0了。呃,9.0对吧,这也是9.0,就这种修改是可以的,因为你最后定位到了这个字段呢,是一个一个,你就什么可以直接去写,但刚刚我们是一个集合,集合的话,你就不好确定我要改的是哪一个,能理解吧,啊所以这个东西大家知道一下啊,行,这是我们这个过滤的一个修改啊。好吧,来,那我再把这个过滤删除说一下啊呃,过滤删除就简单了啊,因为过滤删除的话呢,直接把数据删掉,你就不需要写什么这个这个script了啊这种语法,嗯。
12:00
很难写啊,很难写来这个过滤删除的话就是嗯,Delete,然后呢叫做movie index叫delete,我看一下啊。呃,不是啊,应该还是这个post吧,叫什么叫这个delete by query啊,是这么写的。然后对吧,就是我要做post,然后呢,Movie index下面是delete by query,好,呃,那我删什么呀,比如说我就删这个,还是删这个吧,就是演员。包含什么张涵宇的啊,就是演员列表中啊,包含什么,包含这个张涵宇的啊,把它删掉对吧?啊,那这个怎么删呢?那这里面你既然都是一个什么delete by query呢,这里面你要去写啊,比如写一个。写宽诶提示呢啊,我想起来了啊,这个它它这个好像这个提示不太对啊,那你得手动去写啊,嗯,那我手动写得写到啥时候啊。
13:01
复制一下啊。好看一下啊呃,Query,然后呢,这个布尔filter,然后我们去过滤直等判断,然后呢,只能判断这个张涵宇,就是我把这个过滤出来的数据,查出来的数据,然后呢,给你做一个什么删除操作。对吧,来执行一下啊。走成了啊,成了以后你再去查数据吧,查数据的话呢,我就直接执行这个吧。好看一下吧,最后只剩一条数据了,对吧,因为那个所有什么包含张涵予的什么都被删掉了啊来这个大家在写的时候注意一下啊,他这个确实有个小问题啊,嗯,这我这之前就已经测到了啊,就是它里面在写的时候,这个提示不好用啊,对吧,这个提示不太好用啊,你看它没有提示,但是你写出来它是对着的啊,写出来是对着的。能理解吧?我把这个query出来,我再试它里面的提示啊。啊,这个确实里面这个提示不太对啊,好吧,行,这个大家知道就行了啊,OK,但你写出来它是没有任何问题的啊。
14:01
看到了吧,同学们行啊,这就是我们的这个过滤修改和这个过滤删除啊,这两个,呃,这两个你这个就是有个印象就行了哈,有个印象。
我来说两句