0

状況: ドキュメントのコレクションがあり、各ドキュメントには「_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すべてのレコードを取得していますが、それで問題ありません。

しかし、私がそのようにしているとき、「ファイル」フィールドが存在する場合にのみレコードを取得すると、結果はエラーになります。

final Query query = new Query();           
query.fields().include("files");           

final List<File> fileList = mongo.find(query, File.class);

Object フィールドを取得しようとしているためにエラーが発生しますか? そして、クエリまたは基準でこれをどのように解決できますか?

4

2 に答える 2

2

これを構築しQueryて、ファイルを含むすべてのドキュメントを取得できますfiles

Query.query(Criteria.where("files").exists(true))
于 2013-08-06T15:41:24.373 に答える