情况:我收集了文档,每个文档都包含以下字段:“ _ 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了所有记录,这很好。
fileList
但是,当我这样做时,仅在“文件”字段存在的地方获取记录-结果是错误的。
final Query query = new Query(); query.fields().include("files"); final List<File> fileList = mongo.find(query, File.class);
是否由于我试图获取“对象”字段而发生错误?以及如何使用查询或条件解决此问题?
您可以构造它Query来获取包含以下内容的所有文档files:
Query
files
Query.query(Criteria.where("files").exists(true))