MongoDB-如何检查数组中的某个元素是否满足数组另一个元素的条件?

时间:2019-08-28 06:42:10

标签: arrays mongodb spring-boot

我的Java APP中有以下对象:

[
  {
    "from" : "11/12/2020",
    "to" : "12/12/2019"
  },
  {
    "from" : "13/12/2020",
    "to" : "14/12/2020
  }
]

在我的数据库中,我有以下对象:

[
  {
    "from" : "01/12/2020",
    "to" : "14/12/2019"
  },
  {
    "from" : "20/12/2020",
    "to" : "30/12/2020
  }
]

我可以编写哪种查询来检查第一个Java APP中来自任何对象的日期fromto是否比from或{我的数据库对象有{1}}个值?

谢谢!

1 个答案:

答案 0 :(得分:0)

您将必须遍历所有数据库条目并将它们与您的对象进行比较。 如果您正在使用JPA存储库与数据库进行通信,则可以这样进行:

List<Entry> matches = dataRepository.findAll().stream().filter(dbEntry -> dbEntry.equals(myEntry)).collect(Collectors.asList());

ArrayList现在将包含数据库中的所有匹配项。