我有以下数据库查询,
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 个查询。
查询一:
@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
已与数据库字段匹配。