mongodb - Scala MongoDb 客户端:从查询字符串到构建器
问题描述
在 monogodb scala 客户端(reference和api)中,我们需要使用Builder组件构建查询。例如过滤器:
import org.mongodb.scala.model.Filters._
val q = and(gt("qty", 20), equal("user", "jdoe"))
collection.find(q)
上面的示例选择了所有 qty 字段的值大于 20 并且 user 字段的值等于“jdoe”的文档。
我想知道是否有可能直接使用字符串渲染版本而不使用构建器。
collection.find("{'qty' : { '$gt' : 20 }, 'user' : 'jdoe'}")
我正在寻找这种适应,以简化与将以字符串格式提供查询的外部服务的交互。而且我也相信用户以与他/她在 mongo shell 中相同的方式编写查询将是最简单的。
解决方案
感谢Thilo的评论,解决方案如下:
val queryAsString = "{'qty' : { '$gt' : 20 }, 'user' : 'jdoe'}"
collection.find(BsonDocument(queryAsString))
推荐阅读
- java - 如何在具有扩展另一个接口的接口的实现上设置限定符
- dji-sdk - 运行示例 OSDK 应用程序的正确方法是什么?
- visual-studio - 获取 currentSelectedGameObject 不会停止射击
- python-3.x - 如何使用 psycopg2 恢复数据库转储
- css - Laravel+Vue 聊天室逻辑与设计
- node.js - Node Js Async Await 给出第一个响应 Empty
- python - Python“yaml”模块将意外的 YAML 从 JSON 格式转换
- ios - NativeScript 错误:安装失败:无法将应用程序传输到设备
- linux - 如何在 --function 中添加参数
- java - Android 8.1 通过蓝牙接收垃圾符号