如何通过存在嵌套字段来查找文档?

时间:2019-02-27 16:22:35

标签: arrays mongodb object nosql

我有这样的文件:

    @Transactional
    public Student createStudent(String studentID, String firstname, String lastname, Cooperator c) {
        if(!checkArg(studentID) || !checkArg(firstname) || !checkArg(lastname) || !checkArg(c)) {
            throw new NullArgumentException();
        }

        Student student = new Student();

        student.setStudentID(studentID);
        student.setFirstName(firstname);
        student.setLastName(lastname);
        student.setIsProblematic(false);

        student.setCooperator(c);
        c.addStudent(student);

        return studentRepository.save(student);
    }

其中“ capitulos”可以有更多的其他名字的孩子(不仅是“ Suministros einstalación”),而且都是相同的格式。在这种情况下,我正在寻找具有对象“ PRELIMINARES”的所有文档。有办法吗?

如果有正号,则更新搜索到的对象的名称。

1 个答案:

答案 0 :(得分:0)

是的!听起来好像您在乎密钥是否存在,所以您将要使用$exist query operator。因此,像{"capitulos.Suministro e instalación.PRELIMINARES": {$exists: true}}之类的查询应该可以找到您的文档。

如果要检查PRELIMINARES是否实际上是对象,也可以使用$type query operator