java - 如何按内部数组大小对 MongoDB 查询结果进行排序?

标签 java mongodb morphia

我正在使用 Morphia 访问 mongoDB。 我需要按内部数组的长度获取对象列表。 有没有人知道如何在不将所有集合都交给 Java 并在那里进行排序的情况下完成这项工作?

最佳答案

您应该创建具有嵌套数组大小的额外字段并使用 $inc更新此字段。

您也可以使用 $where , 但速度很慢。

您可以像这样按嵌套数组长度搜索:

db.coll.find({ $where: "this.nestedArray.length > 3" });

但正如我所说,最好创建一个额外的字段。

关于java - 如何按内部数组大小对 MongoDB 查询结果进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5765858/

相关文章:

java - 由于缺少 ReactiveWebServerFactory bean,无法启动 ReactiveWebApplicationContext

java - 列表问题

mongodb - 如何比较 ReactiveMongo BSON 查询中的日期?

javascript - Angular js 服务器端过滤器和分页

java - MongoDb 分片和字符串 id

java - 如何创建 10 个字符长度的 Mongo ObjectId(如 Parse Server)

java - NoClassDefFoundError : Urban Airship for Android Push

java - 过期后自动删除数据库行

mongodb - 在 Mongodb 上使用带有地理空间索引的全文搜索

java - 如何使用 mongodb 的 morphia 更新/保存包含引用的文档?