gpt4 book ai didi

java - 使用约束查询 mongo db,仅在字段存在时应用,否则忽略

转载 作者:行者123 更新时间:2023-12-01 23:18:12 25 4
gpt4 key购买 nike

我正在将 morphia mongo 与 java 一起使用,我试图查询一组具有某些约束的数据。我有一组非常旧的数据,并且通过新的更改,我在现有集合中添加了一个新字段,该字段仅出现在新记录中,因此我想构建一个查询以在该集合记录上应用条件当且仅如果集合有该字段

我查过几张票,比如

Morphia MongoDB check for null and non existing field

这与此接近,但在查找空字段时并不精确。我的情况下该字段不存在

Query<MyData> query = mObject.getDatastore().createQuery(MyData.class);
query.field("field1").hasAnyOf(values);
query.field("field2").exists().field("field2").lessThan(value);

我正在寻找类似如果集合中存在 field2 则仅应用小于约束,否则跳过此约束仅应用 field1 约束。

最佳答案

你能试试这个吗?

Query<MyData> query = mObject.getDatastore().createQuery(MyData.class);
query.field("field1").hasAnyOf(values);
query.field("field2").exists();
query.field("field2").type(Type.INTEGER_64_BIT).field("field2").lessThan(value);

假设“field2”的类型为 INTEGER_64_BIT。

关于java - 使用约束查询 mongo db,仅在字段存在时应用,否则忽略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58340870/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com