Spring Mongodb存储库从子集合项中获取集合给定的ID

时间:2018-11-14 00:11:18

标签: spring mongodb repository

从名为平台的集合和名为用户的子集合中获得以下文档结构:

{
  "_id" : ObjectId("5b8b29c559551141ab56e527")
  "users" : [
      {
          "_id" : ObjectId("55c0e5e5511f0a164a581907"),
          "name" : "Eric"
      },
      {
          "_id" : ObjectId("55c0e5e5511f0a164a581908"),
          "name" : "Antony"
      }
  ]
}

我希望能够检索包含与ObjectId匹配的用户的整个 platform 文档。这是,我需要一个与此等效的存储库:

db.platform.find({"users._id" : ObjectId("55c0e5e5511f0a164a581907")})

我尝试了以下选项:

Platform findByUsers_Id(ObjectId idUser);

Platform findByUsersId(ObjectId idUser);

@Query("{'users._id' : ?0}")
Platform findPlatformByUserId(@Param("_id") ObjectId userId);
如果用户是子文档而不是子集合,则

似乎可以正常工作,但在这种情况下不是。

我有什么选择?

感谢阅读

0 个答案:

没有答案