gpt4 book ai didi

java - MongoTemplate 查询查找子数组大小大于的对象

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

我需要编写一个查询,它可以查找数据库中子数组大小大于某值的对象。

我的对象看起来像:

{
"_id" : ObjectId("sbg8732god78"),
"studentIds" : [ "d3782gdo", "d8o3g7" ]
...
}

我需要查找 studentIds 数组大小大于 n 的所有对象。我正在寻找可用的方法,例如:

Query query = new Query();
query.addCriteria(Criteria.where("studentIds").exists(true));
query.addCriteria(Criteria.where("studentIds").size().gt(0));

但是size()方法接受一个整数。如何做到这一点?

最佳答案

基于this answer ,可以查询索引是否存在。这允许您创建与 >= 表达式等效的内容。示例:

// find where studentIds.size() >= 1
mongoTemplate.find(Query.query(Criteria.where("studentIds.0").exists(true);

// find where studentIds.size() >= 50
mongoTemplate.find(Query.query(Criteria.where("studentIds.49").exists(true);

关于java - MongoTemplate 查询查找子数组大小大于的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47248693/

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