美文网首页
Spring-data-mongodb关于多层嵌套数组的操作;

Spring-data-mongodb关于多层嵌套数组的操作;

作者: 风居住的街道_83df | 来源:发表于2019-11-25 00:22 被阅读0次

        最近在将之前python+mongodb的项目用java重构,所以不可避免的涉及到java操作mongodb,这里采用的数据库框架是spring-data-mongodb,至于为什么采用这个框架,可能类似于JPA的形式直接打动了我。在实际的使用中,确实没有python方便,其中遇到了一些问题,这里记下来,以便自己回忆,也希望能帮助大家。

    数据格式:

单层操作   :修改值1,order_name

Query query=new Query(Criteria.where("_id").is("ObjectId("5cda615557f78256fa4c6741")").and("answers.order_number").is(1));

Update update=new Update();

update.set("answers.$.order_name","修改的值1!!!");

//个人理解:$相当于占位符,可以在查询更新时,及时的传值

mongoTemplate.updateFirst(query,update,"answer:表名");

双层操作:修改值2,hit_keywords

Query query=new Query(Criteria.where("_id").is("5cda615557f78256fa4c6741"));

Update update=new Update();

update.set("answers.$[first].answer_list.$[second].hit_keywords","修改的值2!!!");

//   个人理解:$[]可以用来指定位置,并通过  filterArray过滤器进行过滤

update.filterArray("first.order_number",1);

update.filterArray("second.q_number",2);

mongoTemplate.updateFirst(query,update,"answer:表名");

多层指令:可以通过$[]设置多个占位符修改

注意:$[]只在mongodb3.6版本及以上才能使用,否则会报错filterArray指令不存在;

相关文章

  • Spring-data-mongodb关于多层嵌套数组的操作;

    最近在将之前python+mongodb的项目用java重构,所以不可避免的涉及到java操作mongodb,这里...

  • 每日一题

    20170830 数组扁平化: 实现一个flatten函数,将一个嵌套多层的数组 array(数组) (嵌套可以是...

  • flatten,map,reduce方法总结

    (1)flatten的用法 将一个嵌套多层的数组 array(数组) (嵌套可以是任何层数)转换为只有一层的数组,...

  • JavaScript编程---数组嵌套转单数组

    实现一个flatten函数,将一个嵌套多层的数组 array(数组) (嵌套可以是任何层数)转换为只有一层的数组,...

  • 『JavaScript专题』之数组扁平化

    JavaScript专题之数组扁平化 扁平化 数组的扁平化,就是将一个嵌套多层的数组 array (嵌套可以是任何...

  • js习题练习

    效果,实现代码reduce效果 效果实现一个flatten函数,将一个嵌套多层的数组 array(数组) (嵌套可...

  • js实现数组扁平化

    js实现数组扁平化 数组的扁平化,就是将一个嵌套多层的数组array(嵌套可以是任何层数)转换为只有一层的额数组。...

  • js数组扁平化

    扁平化 数组的扁平化,就是将一个嵌套多层的数组 array (嵌套可以是任何层数)转换为只有一层的数组。 递归 e...

  • 递归循环调用

    js多次调用接口,全部成功之后执行 输出 多层数组嵌套循环输出

  • mongo 数据库操作

    嵌套数组里的成员操作 删除嵌套数组里的成员数据 数据源: {"_id" : "777","someKey" : "...

网友评论

      本文标题:Spring-data-mongodb关于多层嵌套数组的操作;

      本文链接:https://www.haomeiwen.com/subject/qlnrwctx.html