我有以下数据库查询,
db.compDoc.find(
{ "comp_id": "MY00000Y"},
{ doc: {$elemMatch: {file: "abc"}}});
其结果如下所示。
{
"_id" : ObjectId("5bf28dd4cab0a74d4338abf9"),
"doc" : [
{
"desc" : "string",
"file" : "abc",
"path" : "string",
"type" : "U",
"createdAt" : ISODate("2018-11-21T10:58:40.065+08:00")
}
]
}
我尝试使用mongoRepository
获得该结果。我尝试了下面显示的2个查询。
查询1:
@Query(value = "{ 'organizationId' : ?0, 'documents.docName': ?1, 'documents': { $elemMatch: { 'documents.docName' : ?1 } }}")
Optional<OrganizationDocument> findByOrganizationIdAndDocumentsDocName(String orgId, String docName);
查询2:
@Query(value = "{ 'organizationId' : ?0, 'documents.docName' : ?1 }", fields = "{ 'documents.docName' : 'abc' }")
Optional<OrganizationDocument> findByOrganizationIdAndDocumentsDocName(String orgId, String docName);
结果: 无需过滤即可获取查询1和查询2的整个文档。
请帮助我获得正确的结果。
注意:organizationId
,documents
和docName
已与数据库字段匹配。