代码之家  ›  专栏  ›  技术社区  ›  mjaggard

有了MongoDB中的Spring数据,我可以按缺少的字段进行搜索吗?[复制品]

  •  0
  • mjaggard  · 技术社区  · 7 年前

    情况: 我收集了一些文档,每个文档都包含这样的字段:“id”(objectid)、“userid”(string),但也可以是字段“files”(object)。

    当我这么做的时候:

    final Query query = new Query();           
    query.fields().include("_id");           
    
    final List<File> fileList = mongo.find(query, File.class);
    

    结果我得到了 fileList 所有的记录都很好。

    但当我这样做时,只在“files”字段存在的地方获取记录-结果是错误的。

    final Query query = new Query();           
    query.fields().include("files");           
    
    final List<File> fileList = mongo.find(query, File.class);
    

    是否因为我试图获取对象字段而发生错误?如何用查询或条件来解决这个问题?

    0 回复  |  直到 13 年前
        1
  •  2
  •   seralex.vi    13 年前

    你可以构造这个 Query 获取包含 files 提出:

    Query.query(Criteria.where("files").exists(true))