Spring数据mongodb在值的映射中找到

时间:2013-12-13 12:01:12

标签: mongodb spring-data

我有以下数据库结构:

{  id : "1233454",
   name : "abc",
   elements : [ 
        { "1" : { id : "123", referenceId : "567" } },
        { "2" : { id : "345" } },
   ],
},
{  id : "56789",
   name : "def",
   elements : [ 
        { "3" : { id : "123", referenceId : "789" } },
        { "4" : { id : "345" } },
   ],
},
{  id : "98765",
   name : "def",
   elements : [ 
        { "3" : { id : "123", referenceId : "789" } },
        { "4" : { id : "345" } },
   ],
}

我需要检索文档ID,其中referenceId等于传递给方法的参数。 例如:如果方法收到“789”,则应返回“56789”和“98765”。

提前致谢。

1 个答案:

答案 0 :(得分:1)

如果您想要有效查询,建议不要使用未知密钥,例如参见this discussion。如果elements中的密钥(例如"1")遵循特定结构或受限制,您可以在查询中使用简单的$or来检查所有选项,例如"elements.1.referenceId" - 请参阅here如何执行此操作。

相关问题