美文网首页
Mongodb $redact 用法

Mongodb $redact 用法

作者: 埃尔温薛定谔不养猫 | 来源:发表于2021-04-26 11:22 被阅读0次

概括

这个方法一般与 $cond 一起使用,如果匹配成功,则执行 $$DESCEND$$PRUNE$$KEEP 指令。

下面的指令意思就是:递级匹配,匹配的话,当前级别的所有字段都会返回,然后匹配下一级,直到某一级的 tags 这个 array 里木有 "G" 的时候,停止匹配,且该级别的所有字段都不会返回。

如果有更好的理解方式,可以在文章下面留言。

db.test.aggregate([ 
  {$match: {year:2014}}, 
  {$redact: 
    {$cond: 
      {
        if: {$gt: [{$size: {$setIntersection: ["$tags", ["G"]]}}, 0]}, 
        then: "$$DESCEND", 
        else: "$$PRUNE" 
      }
    }
  } 
]).pretty()

DESCEND、PRUNE、KEEP 这三者有什么区别呢?

{
    "_id" : 1,
    "title" : "123 Department Report",
    "tags" : [
        "G",
        "STLW"
    ],
    "year" : 2014,
    "subsections" : [
        {
            "subtitle" : "Section 1: Overview",
            "tags" : [
                "SI",
                "G"
            ],
            "content" : "Section 1: This is the content of section 1."
        },
        {
            "subtitle" : "Section 2: Analysis",
            "tags" : [
                "STLW"
            ],
            "content" : "Section 2: This is the content of section 2."
        },
        {
            "subtitle" : "Section 3: Budgeting",
            "tags" : [
                "TK"
            ],
            "content" : {
                "text" : "Section 3: This is the content of section3.",
                "tags" : [
                    "HCS"
                ]
            }
        }
    ]
}
  • $$DESCEND
    递增匹配,匹配就返回当前级别的所有字段,并继续匹配下一级别。
  • $$PRUNE
    当前级别如果不匹配的话,这个级别的所有字段都不会返回,且不会继续匹配下一级别。
  • $$KEEP
    当前级别如果匹配的话,这个级别的所有字段都会返回,且不会继续匹配下一级别。

相关文章

  • Mongodb $redact 用法

    概括 这个方法一般与 $cond 一起使用,如果匹配成功,则执行 $$DESCEND 或 $$PRUNE 或 $$...

  • PHP MongoDB 查询文档 --- 2022-04-02

    本章介绍PHP MongoDB文档查询的用法。 前置教程 MongoDB教程[https://www.tizi36...

  • MongoDB用法

    $ne不等于 查询x 的值不等于3 的数据 $in包含 与sql 标准语法的用途是一样的,即要查询的是一系列枚举值...

  • MongoDB查询结果排序 --- 2022-04-03

    本章介绍,MongoDB查询结果排序,类似MYSQL order by的用法,MongoDB的分页查询通过Curs...

  • MongoDB分页查询 --- 2022-04-03

    本章介绍,MongoDB的分页查询,类似MYSQL分页的用法,MongoDB的分页查询通过Cursor游标的.li...

  • MongoDB基本用法

    简介(https://www.mongodb.com/) MongoDB是为了快速开发互联网Web应用而设计的数据...

  • Mongodb 基本用法

    数据库操作 创建数据库 查看所有用户 向指定数据库添加数据 删除数据库 删除集合 集合操作 【基本软件必备的增删改...

  • Mongodb常见用法

    //使用配置文件启动(如未设置环境变量需要在安装路径的bin文件夹下运行)mongod --config c:\m...

  • MongoDB用法记录

    通过object_id 删除数据db.col.remove({"_id":ObjectId('5ec3a2bde3...

  • mongodb 基本用法

网友评论

      本文标题:Mongodb $redact 用法

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