spring - Spring MongoDB:查询具有两个相等字段的文档
问题描述
我想查询它的两个字段相等的返回文档
我从这个问题中找到了 mongodb 原始查询:
db.coll.find({ $where : "this.field1 == this.field2" } );
如何使用弹簧标准执行它:
criteria = criteria.andOperator(
Criteria.where("successfulSent").is("true"),
Criteria.where("this.fieldOne == this.fieldTwo"));
但它不起作用,因为生成的查询变为:
{ ... "$and" : [ { "successfulSent" : "true"} , { "this.fieldOne == this.fieldOne " : { }}]}
解决方案
您可以尝试这种方式:
Criteria.where("$where").is("this.field1 == this.field2")
查询 toString() 将是:
Query: { "$where" : "this.cts == this.uts"}, Fields: null, Sort: null
推荐阅读
- java - 使用 GridLayoutManager 和 RecyclerView 更改列数以实现自动调整屏幕
- javascript - 将顶部的 td 元素与动态添加的元素对齐
- java - 如何转换为 PostgreSQL 数字类型?
- wordpress - 如何恢复 wordpress 安装?
- java - Logback 自定义 DB Appender 超时
- python - 文本分词器模式的解释
- android - 如何将字符串(微调器)中的选定值保存到 sqlite
- java - 使用 java regex 获取文件中特定单词中的内容
- clojure - 带 args 的代理函数示例
- reactjs - 渲染ui结构反应导航组件时防止页面重新加载